DevEpress控件的treeList完整小案例

上传人:re****.1 文档编号:459253148 上传时间:2023-11-15 格式:DOC 页数:14 大小:111.50KB
返回 下载 相关 举报
DevEpress控件的treeList完整小案例_第1页
第1页 / 共14页
DevEpress控件的treeList完整小案例_第2页
第2页 / 共14页
DevEpress控件的treeList完整小案例_第3页
第3页 / 共14页
DevEpress控件的treeList完整小案例_第4页
第4页 / 共14页
DevEpress控件的treeList完整小案例_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《DevEpress控件的treeList完整小案例》由会员分享,可在线阅读,更多相关《DevEpress控件的treeList完整小案例(14页珍藏版)》请在金锄头文库上搜索。

1、DevExpress 控件的 treeList 完整小案例这篇内容对刚接触 treeList 的程序员来说,会有一定的 帮助。以下会以一个小案例来讲解 treeList 的一些属性方法及事件这是程序的窗体, frmTableMaintenance 为窗体名,而 groupControl1 是一个分组控件,添加和修改都是 用同一个 分组,也就是说,不管是添加还是修改,用的都是同一个页 面,而 button 跟随操作的变化而变化首先,加载树,即将数据绑定到 treeList 中1 /2 / 加载树3 /tl_TableMaintain 是 treeList 的名称/ 对于绑定数据, treeLis

2、t 有自带的,可以不用 自己去递归。直接指定 KeyFieldName( 主键 ),ParentFieldName(父键),以及 tag 值。trythis.tl_TableMaintain.Nodes.Clear();/ 清空所有节点,以便重新加载1011ResultBase _arryTableName =Global.Get(System/GetTableMaintain);1213if (_arryTableName != null)1415snList =(List)JsonConvert.DeserializeObject(_arryTableName.Result,typeof(

3、List);/ 数据源 snList ,这里获取数据源的方式可自由定义161718TreeListNode node =19tl_TableMaintain.AppendNode(null, -1);node.SetValue(treeListColumn1, 表结构维护 );20LoadTreeCtrl(node, -1);21TreeListProperty(tl_TableMaintain);/ 调用方法,设置属性2223catch (Exception ex)2425262728private void LoadTreeCtrl(TreeListNode pnode,string pa

4、rentkey)2930try3132int index = 0;33List dv = _snList.Where(o =>o.parent_key.Trim() = parentkey.Trim().ToList();/ 根据父级 id 获取子节点循环加载34foreach (erp_dev_table rv in dv)3536TreeListNode node =pnode.TreeList.AppendNode(rv.table_key, pnode);404142434445464748495051525354555637node.SetValue(0,rv.table_na

5、me_english);3839node.Tag = rv;LoadTreeCtrl(node,Command.Instance.Getstring(rv.table_key);catch (Exception ex)/ 设置 treeList 的属性/private void TreeListProperty(TreeList tl)58 tl.OptionsView.ShowColumns = false;/ 是否显示选中的行59 tl.OptionsBehavior.Editable = false;/ 不可编辑60 tl.OptionsView.ShowHorzLines = fals

6、e;/OptionsView 提供对树状列表的显示选项 ,设置水平线 是否显示61 tl.OptionsView.ShowIndicator = false;/ 节点 的指示面板是否显示62 tl.OptionsView.ShowVertLines = false;/ 垂直线条是否显示63 / 设置 treeList 的折叠样式为 + - 号64 tl.LookAndFeel.UseDefaultLookAndFeel =false;65 tl.LookAndFeel.UseWindowsXPTheme =true;66 tl.OptionsSelection.InvertSelection

7、= true;/聚焦的样式是否只适用于聚焦细胞或所有细胞除了聚焦对 象,失去焦点后67 69然后,单击或双击树节点时,加载该节点对象的详细信息, 如图:如果树里面的节点 较多,可以采取查询的方法定位到该节 点上。如图中的查询框一样,当点击查询时,查看数据库中 是否存在该对象, 若存在, 则将焦点定位到该节点上, 反之, 则提示输入的对象不存在!如图:代码如下:1 /2 / 点击查询,查出相应的3 /4 /5 /EventArgs e)7 8tName = txt_name.Text.Trim();9if (!String.IsNullOrEmpty(tName)101112GetTMByNam

8、e();13btn_saveOrUpdate.Text = 修改 ;1415else16176Global.ShowMeg(Command.MsgType.Warning, 请填写您要查询的表名 );18this.txt_name.Focus();19202122/23/迭代找到节点24/private void btn_selectTName_Click(object sender,26/27/28private TreeListNode forNode(TreeListNodenode, string text)2930erp_dev_table tableOne =(erp_dev_ta

9、ble)node.Tag;31if (tableOne!=null)3332if (tableOne.table_name_english=text)3435return node;36373839/循环父节点下的所有子节点4043foreach (TreeListNode n in node.Nodes)TreeListNode rn = forNode(n, text);45return rn;464748return null;49 505152public void GetTMByName()5354TreeListNode node =forNode(this.tl_TableMai

10、ntain.Nodes0, tName);55if (node = null)5657Global.ShowMeg(Command.MsgType.Warning, 您输入有误,当前实体不存在);58return;596061if (node.ParentNode.Expanded = false)6263node.ExpandAll();646566this.tl_TableMaintain.FocusedNode = node;67BangDing();68697071public void BangDing() _currNode =(erp_dev_table)tl_TableMain

11、tain.FocusedNode.Tag; erp_dev_table tb = _currNode; txt_chinaName.Text = tb.table_name_chain; txt_englishName.Text = tb.table_name_english; grp_tableDesc.Text = 当前节点为+tb.table_name_english;if (tb.table_type = 1)rd_directory.Checked =true; else if (tb.table_type = 2) rb_table.Checked = true; txt_remark.Text = tb.table_memo; med_desc.Text = tb.table_descr;grp_tableDesc.Show();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号