devexpress TreeList遞歸及點擊獲取數據


        private void XtraUserControlBlankList_Load(object sender, EventArgs e)
        {
            this.BlankTreeList.Columns.Clear();
            TreeListColumn tc1 = new TreeListColumn();
            tc1.Name = "treeListColumn1";
            tc1.FieldName = "BlankID";
            tc1.Caption = "主鍵ID";
            tc1.VisibleIndex = 0;//此為必須設置的屬性,否則無法顯示列

            TreeListColumn tc2 = new TreeListColumn();
            tc2.FieldName = "BlankName";
            tc2.Caption = "行名";
            tc2.VisibleIndex = 1;

            TreeListColumn tc3 = new TreeListColumn();
            tc3.Caption = "父級ID";
            tc3.FieldName = "ParentId";
            tc3.VisibleIndex = 2;
            this.BlankTreeList.Columns.AddRange(new TreeListColumn[] { tc1, tc2, tc3});

            //清空現有節點
            this.BlankTreeList.Nodes.Clear();

            BlankTreeList.AppendNode(new object[] {"Allblanklist","全部"}, null);
            //根據節點的字段ID名稱查找定位節點
            TreeListNode node = this.BlankTreeList.FindNodeByFieldValue("BlankID", "Allblanklist"); //在filedName列中查找所屬值得的節點

            DataTable dt = blankBll.GetBlankList();
            DataView dv = new DataView(dt);
            dv.RowFilter = "ParentId = '-1'";

            if (dt.Rows.Count > 0)
            {
                foreach (DataRowView dv1 in dv)
                {
                    object[] nodeview = { dv1["BlankID"], dv1["BlankName"], dv1["ParentId"] };
                    TreeListNode tn = BlankTreeList.AppendNode(nodeview, node);
                    GetChild(dv1["BlankID"].ToString(),dt,tn);//參數(父級ID,DataTable表,父節點)
                }
            }
            node.ExpandAll();
        }

 

 private void GetChild(string upnode, DataTable dt,TreeListNode tn)
        {
            try
            {
                DataView dv = new DataView(dt);
                dv.RowFilter = "ParentId = '" + upnode + "'";
                foreach (DataRowView dv1 in dv)
                {
                    object[] nodeview = { dv1["BlankID"], dv1["BlankName"], dv1["ParentId"] };
                    TreeListNode childnode = BlankTreeList.AppendNode( nodeview , tn);
                    GetChild(dv1["BlankID"].ToString(), dt, childnode);//參數(父級ID,DataTable表,父節點)
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 

 private void BlankTreeList_FocusedNodeChanged_1(object sender, FocusedNodeChangedEventArgs e)
        {
            TreeListNode curNode = e.Node;
            if (curNode == null) return;
            TxtE1.Text = curNode.GetValue("BlankID").ToString();
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM