DevExpress的TreeList怎样设置数据源,从实例入手
場(chǎng)景
Winform控件-DevExpress18下載安裝注冊(cè)以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在上面已經(jīng)實(shí)現(xiàn)DevExpress的安裝之后,拖拽一個(gè)TreeList,然后怎樣給其設(shè)置數(shù)據(jù)源。
設(shè)置數(shù)據(jù)源
1.TreeList 控件可以被綁定到任何傳統(tǒng)的數(shù)據(jù)源: BindingSource、DataTable、DataView 和 DataSet 對(duì)象,以及實(shí)現(xiàn)了 IList、TypedList 或 IBindingList 接口的對(duì)象。
2.要把 TreeList 控件綁定到數(shù)據(jù)源,則使用 TreeList.DataSource 屬性。
3.必須在數(shù)據(jù)源中通過兩個(gè)字段實(shí)現(xiàn)關(guān)于父/子關(guān)系的信息。 一個(gè)字段必須存儲(chǔ)節(jié)點(diǎn)的唯一 ID。 另一個(gè)字段必須為每個(gè)節(jié)點(diǎn)都包含父節(jié)點(diǎn)的 ID。 要為 TreeList 控件指定這些字段,則使用 TreeList.KeyFieldName 和 TreeList.ParentFieldName 屬性。
效果
子節(jié)點(diǎn)較多的樹形結(jié)構(gòu)效果
?
簡(jiǎn)單的TreeList效果
?
注:
博客主頁(yè):
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
為了存取每個(gè)節(jié)點(diǎn)的父級(jí)關(guān)系,新建一個(gè)節(jié)點(diǎn)實(shí)體類用來存取節(jié)點(diǎn)信息。
此實(shí)體具體的屬性可以自行添加,但是如上面所說的,必須要有能標(biāo)識(shí)節(jié)點(diǎn)間父子關(guān)系的
屬性字段并且告訴TreeList你設(shè)置的標(biāo)識(shí)變量和父級(jí)標(biāo)識(shí)變量是啥。
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; }}}然后設(shè)置數(shù)據(jù)源
?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();?
這里設(shè)置數(shù)據(jù)源抽離了一個(gè)方法SetTreeListDataSource,在方法中
?treeList.KeyFieldName = keyFieldName;treeList.ParentFieldName = parentFieldName;treeList.DataSource = data;這里是構(gòu)建了沒有層級(jí)關(guān)系的數(shù)據(jù)源,效果如上面第二個(gè)效果圖那樣,如果想
構(gòu)造出樹形層級(jí)關(guān)系,就構(gòu)造出包含父子層數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)源即可。
總結(jié)
以上是生活随笔為你收集整理的DevExpress的TreeList怎样设置数据源,从实例入手的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019云栖大会精品资料免费下载
- 下一篇: DevExpress的TreeList的