Winform中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


免責聲明!

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



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