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(); }