日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

DevExpress的TreeList怎样设置数据源使其显示成单列树形结构

發(fā)布時(shí)間:2025/3/19 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DevExpress的TreeList怎样设置数据源使其显示成单列树形结构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

場景

Winform控件-DevExpress18下載安裝注冊以及在VS中使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243

在上面已經(jīng)實(shí)現(xiàn)DevExpress的安裝之后,拖拽一個(gè)TreeList,然后怎樣給其設(shè)置數(shù)據(jù)源。

DevExpress的TreeList怎樣設(shè)置數(shù)據(jù)源,從實(shí)例入手:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102548490

參照上面進(jìn)行設(shè)置數(shù)據(jù)源的過程。

如果要實(shí)現(xiàn)這樣單列的樹形結(jié)構(gòu)應(yīng)該怎樣設(shè)置參數(shù)以及數(shù)據(jù)源。

?

注:

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。

實(shí)現(xiàn)

首先新建一個(gè)Winform程序,然后拖拽一個(gè)TreeList控件

?

然后雙擊進(jìn)入窗體的加載事件中,如果在別的地方設(shè)置數(shù)據(jù)源同理。

首先進(jìn)行TreeList樣式等的設(shè)置

?#region 設(shè)置列頭、節(jié)點(diǎn)指示器面板、表格線樣式treeList1.OptionsView.ShowColumns = false;???????????? //隱藏列標(biāo)頭treeList1.OptionsView.ShowIndicator = false;?????????? //隱藏節(jié)點(diǎn)指示器面板treeList1.OptionsView.ShowHorzLines = false;?????????? //隱藏水平表格線treeList1.OptionsView.ShowVertLines = false;?????????? //隱藏垂直表格線treeList1.OptionsView.ShowIndentAsRowStyle = false;#endregion#region 初始禁用單元格選中,禁用整行選中treeList1.OptionsView.ShowFocusedFrame = true;?????????????????????????????? //設(shè)置顯示焦點(diǎn)框treeList1.OptionsSelection.EnableAppearanceFocusedCell = false;????????????? //禁用單元格選中treeList1.OptionsSelection.EnableAppearanceFocusedRow = false;?????????????? //禁用正行選中#endregion#region 設(shè)置TreeList的展開折疊按鈕樣式和樹線樣式treeList1.OptionsView.ShowButtons = true;????????????????? //顯示展開折疊按鈕treeList1.LookAndFeel.UseDefaultLookAndFeel = false;?????? //禁用默認(rèn)外觀與感覺treeList1.LookAndFeel.UseWindowsXPTheme = true;??????????? //使用WindowsXP主題treeList1.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Percent50;???? //設(shè)置樹線的樣式#endregion

然后設(shè)置其單列顯示???????????

#region 添加單列DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn();colNode.Name = String.Format("col{0}", "NodeText");colNode.Caption = "NodeText";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;?????????? //移除列后是否允許在自定義窗體中顯示treeList1.Columns.Clear();treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode });#endregion

注:

這里的FieldName 要與數(shù)據(jù)源中要顯示的屬性名相對應(yīng)。

然后設(shè)置作為識別節(jié)點(diǎn)的主鍵字段,這里使用Id來區(qū)分標(biāo)記每個(gè)節(jié)點(diǎn);設(shè)置其父節(jié)點(diǎn)的標(biāo)記屬性。

treeList1.KeyFieldName = "Id"; treeList1.ParentFieldName = "ParentId";

為了構(gòu)建數(shù)據(jù)源,我們需要新建一個(gè)DataTreeNode類

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace TreeListTest {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; }}}}

然后再回到上面構(gòu)建數(shù)據(jù)源??????????

? DataTreeNode node1 = new DataTreeNode();node1.Id = "1";node1.ParentId = null;node1.NodeText = "1公眾號";DataTreeNode node11 = new DataTreeNode();node11.Id = "2";node11.ParentId = "1";node11.NodeText = "1-1霸道的程序猿";DataTreeNode node111 = new DataTreeNode();node111.Id = "3";node111.ParentId = "2";node111.NodeText = "1-1-1大量編程資源";List<DataTreeNode> data = new List<DataTreeNode>();data.Add(node1);data.Add(node11);data.Add(node111);

然后給TreeList設(shè)置數(shù)據(jù)源

treeList1.DataSource = data; treeList1.RefreshDataSource();

最終完整的窗體加載方法代碼?

private void Form1_Load(object sender, EventArgs e){#region 設(shè)置列頭、節(jié)點(diǎn)指示器面板、表格線樣式treeList1.OptionsView.ShowColumns = false;???????????? //隱藏列標(biāo)頭treeList1.OptionsView.ShowIndicator = false;?????????? //隱藏節(jié)點(diǎn)指示器面板treeList1.OptionsView.ShowHorzLines = false;?????????? //隱藏水平表格線treeList1.OptionsView.ShowVertLines = false;?????????? //隱藏垂直表格線treeList1.OptionsView.ShowIndentAsRowStyle = false;#endregion#region 初始禁用單元格選中,禁用整行選中treeList1.OptionsView.ShowFocusedFrame = true;?????????????????????????????? //設(shè)置顯示焦點(diǎn)框treeList1.OptionsSelection.EnableAppearanceFocusedCell = false;????????????? //禁用單元格選中treeList1.OptionsSelection.EnableAppearanceFocusedRow = false;?????????????? //禁用正行選中#endregion#region 設(shè)置TreeList的展開折疊按鈕樣式和樹線樣式treeList1.OptionsView.ShowButtons = true;????????????????? //顯示展開折疊按鈕treeList1.LookAndFeel.UseDefaultLookAndFeel = false;?????? //禁用默認(rèn)外觀與感覺treeList1.LookAndFeel.UseWindowsXPTheme = true;??????????? //使用WindowsXP主題treeList1.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Percent50;???? //設(shè)置樹線的樣式#endregion#region 添加單列DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn();colNode.Name = String.Format("col{0}", "NodeText");colNode.Caption = "NodeText";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;?????????? //移除列后是否允許在自定義窗體中顯示treeList1.Columns.Clear();treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode });#endregiontreeList1.KeyFieldName = "Id";treeList1.ParentFieldName = "ParentId";DataTreeNode node1 = new DataTreeNode();node1.Id = "1";node1.ParentId = null;node1.NodeText = "1公眾號";DataTreeNode node11 = new DataTreeNode();node11.Id = "2";node11.ParentId = "1";node11.NodeText = "1-1霸道的程序猿";DataTreeNode node111 = new DataTreeNode();node111.Id = "3";node111.ParentId = "2";node111.NodeText = "1-1-1大量編程資源";List<DataTreeNode> data = new List<DataTreeNode>();data.Add(node1);data.Add(node11);data.Add(node111);treeList1.DataSource = data;treeList1.RefreshDataSource();}

?

總結(jié)

以上是生活随笔為你收集整理的DevExpress的TreeList怎样设置数据源使其显示成单列树形结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。