場景 Winform控制項-DevExpress18下載安裝註冊以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面安裝完DevExpress的基礎上使用其Treelist控制項。 然後就可以新 ...
場景
Winform控制項-DevExpress18下載安裝註冊以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在上面安裝完DevExpress的基礎上使用其Treelist控制項。
然後就可以新建數據源的List,並賦值給TreeList。
效果
實現
新建Winform程式,然後拖拽一個TreeList
新建數據源類TreeNode
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DevExpressSimple { class TreeNode { //標識Id private string id; //父級節點ID private string parentId; //節點顯示文本 private string nodeText; public string NodeText { get { return nodeText; } set { nodeText = value; } } public string ParentId { get { return parentId; } set { parentId = value; } } public string Id { get { return id; } set { id = value; } } } }
雙擊窗體進入窗體的載入事件中。
private void Form1_Load(object sender, EventArgs e) { string keyFieldName = "Id"; string parentFieldName = "ParentId"; //新建list數據源 List<TreeNode> data = new List<TreeNode>(); data.Add(new TreeNode() { Id = "root", ParentId = String.Empty, NodeText = "測試1" }); data.Add(new TreeNode() { Id = "first", ParentId = "root", NodeText = "測試2" }); //列 DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn(); //設置名字 colNode.Name = "名字"; //設置標題 colNode.Caption = "標題"; //設置從數據源分配給當前列的欄位名。 colNode.FieldName = "NodeText"; //設置樹列表中顯示當前列的位置。 colNode.VisibleIndex = 0; //是否可見 colNode.Visible = true; //是否允許編輯 colNode.OptionsColumn.AllowEdit = false; //是否允許移動 colNode.OptionsColumn.AllowMove = false; //是否允許移動至自定義窗體 colNode.OptionsColumn.AllowMoveToCustomizationForm = false; //是否允許排序 colNode.OptionsColumn.AllowSort = false; //是否固定列寬 colNode.OptionsColumn.FixedWidth = false; //是否只讀 colNode.OptionsColumn.ReadOnly = true; //移除列後是否允許在自定義窗體中顯示 colNode.OptionsColumn.ShowInCustomizationForm = true; //先清除列 this.treeList1.Columns.Clear(); //將列數組添加到集合的結尾。 this.treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode }); #region 綁定數據源 //設置屬性KeyFieldName ParentFieldName //設置一個值,該值指定綁定到XtratreeList控制項的數據源的鍵欄位 this.treeList1.KeyFieldName = keyFieldName; //設置一個值,該值表示標識此數據源中父記錄的數據源欄位。 this.treeList1.ParentFieldName = parentFieldName; this.treeList1.DataSource = data; //刷新數據 this.treeList1.RefreshDataSource(); #endregion }
註:
1.list就是要顯示的數據源,其中Id屬性就是別的節點指定父節點的標誌。
2.ParentId就是指定父節點,對應節點的Id屬性,如果是根節點,則父節點為空。
3.NodeText就是節點要顯示的文本。
4.給list賦值之後,還要告訴TreeList對應的關係,所以需要設置treelist的兩個屬性
KeyFiledName和ParentFiledName。其中KeyFiledName是指定綁定到控制項的數據源的鍵欄位,就是指定上面的Id,即作為節點標誌的欄位。
ParentFiledName是標誌此數據 源中父記錄的數據源欄位。
5.然後還要使用TreeListColumn新建列對象,設置列相關的一些屬性,還要通過FieldName指定從數據源中取哪個欄位分配給這列。
6.更多的屬性直接通過源碼中查看源碼屬性獲取。
源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11614224