DevExpress控件的treeList完整小案例 下载本文

内容发布更新时间 : 2024/10/2 2:49:00星期一 下面是文章的全部内容请认真阅读。

DevExpress控件的treeList完整小案例

这篇内容对刚接触treeList的程序员来说,会有一定的帮助。

以下会以一个小案例来讲解treeList的一些属性方法及事件

这是程序的窗体,frmTableMaintenance为窗体名,而groupControl1是一个分组控件,添加和修改都是 用同一个分组,也就是说,不管是添加还是修改,用的都是同一个页面,而button跟随操作的变化而变化

首先,加载树,即将数据绑定到treeList中 1 ///

2 /// 加载树

3 ///tl_TableMaintain是treeList的名称

///对于绑定数据,treeList有自带的,可以不用自己去递归。直接指定KeyFieldName(主键),ParentFieldName(父键),以及tag值。 4 ///

5 public void LoadTree() 6 { 7 try 8 {

9 this.tl_TableMaintain.Nodes.Clear();//清空所有节点,以便重新加载 10

11 ResultBase _arryTableName = Global.Get(\12

13 if (_arryTableName != null) 14 {

15 _snList =

(List)JsonConvert.DeserializeObject(_arryTableName.Result, typeof(List));//数据源 snList ,这里获取数据源的方式可自由定义 16

17 }

18 TreeListNode node = tl_TableMaintain.AppendNode(null, -1);

19 node.SetValue(treeListColumn1, \表结构维护\

20 LoadTreeCtrl(node, \

21 TreeListProperty(tl_TableMaintain);//调用方法,设置属性 22 }

23 catch (Exception ex) 24 {} 25 } 26 27

28 private void LoadTreeCtrl(TreeListNode pnode, string parentkey) 29 { 30 try 31 {

32 int index = 0;

33 List dv = _snList.Where(o => o.parent_key.Trim() == parentkey.Trim()).ToList();//根据父级id获取子节点循环加载

34 foreach (erp_dev_table rv in dv) 35 {

36 TreeListNode node = pnode.TreeList.AppendNode(rv.table_key, pnode);