場景
Winform控制元件-DevExpress18下載安裝注冊以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在上面已經實作DevExpress的安裝之后,拖拽一個TreeList,然后怎樣給其設定資料源,
設定資料源
1.TreeList 控制元件可以被系結到任何傳統的資料源: BindingSource、DataTable、DataView 和 DataSet 物件,以及實作了 IList、TypedList 或 IBindingList 介面的物件,
2.要把 TreeList 控制元件系結到資料源,則使用 TreeList.DataSource 屬性,
3.必須在資料源中通過兩個欄位實作關于父/子關系的資訊, 一個欄位必須存盤節點的唯一 ID, 另一個欄位必須為每個節點都包含父節點的 ID, 要為 TreeList 控制元件指定這些欄位,則使用 TreeList.KeyFieldName 和 TreeList.ParentFieldName 屬性,
效果
子節點較多的樹形結構效果

簡單的TreeList效果

注:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載,
實作
為了存取每個節點的父級關系,新建一個節點物體類用來存取節點資訊,
此物體具體的屬性可以自行添加,但是如上面所說的,必須要有能標識節點間父子關系的
屬性欄位并且告訴TreeList你設定的標識變數和父級標識變數是啥,
public class DataTreeNode { private string id; private string parentId; private string nodeText; public string Id { get { return id; } set { id = value; } } public string ParentId { get { return parentId; } set { parentId = value; } } public string NodeText { get { return nodeText; } set { nodeText = value; } } }
然后設定資料源
string fieldName = "NodeText"; string keyFieldName = "Id"; string parentFieldName = "ParentId"; string fileName = System.IO.Path.GetFileNameWithoutExtension(String.Format("{0}{1}",Global.Instance.CurrCompareDataFile,Global.MAIN_EXT)); DataTreeNode node = new DataTreeNode(); node.ParentId = null; node.NodeText = fileName; node.Id = Global.Instance.CurrCompareDataFile; Global.Instance.CompareData.Add(node); DataTreeListHelper.SetTreeListDataSource(this.treeList2, Global.Instance.CompareData, fieldName, keyFieldName, parentFieldName); this.treeList2.RefreshDataSource();
這里設定資料源抽離了一個方法SetTreeListDataSource,在方法中
treeList.KeyFieldName = keyFieldName;treeList.ParentFieldName = parentFieldName;treeList.DataSource = data;
這里是構建了沒有層級關系的資料源,效果如上面第二個效果圖那樣,如果想
構造出樹形層級關系,就構造出包含父子層資料結構的資料源即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3541.html
標籤:WinForm
