如何使用DevExpress实现多层级嵌套列表展示?这里有答案
点击“了解更多”获取工具
DevExpress Universal Subscription拥有.NET开发需要的所有平台控件 , 包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具 。 屡获大奖的软件开发平台DevExpress 近期正式发布了v21.1 , 最新版拥有众多新产品和数十个具有高影响力的功能 , 可为桌面、Web和移动应用提供直观的解决方案 , 全面解决各种使用场景问题 。
DevExpress GridControl实现多层级嵌套列表展示的主要逻辑是构建GridLevelNode并添加到LevelTree集合里面 , 手动创建多个承载显示的gridview , 然后添加到视图集合里面去吧 , 不过这个是已知层级的情况下 , 如果是无穷级 , 这种手工创建视图的方式 , 肯定不太适合 , 而且很繁琐 , 我们本篇随笔来改进一下 , 介绍如何实现多层级或无穷级的嵌套列表展示 。
根据数据展示的定义 , 我们构建一些测试的数据 , 如下所示 。
//创建测试数据var result = new Detail2Result{Name = "测试",Description = "描述内容",Detail2list = new List<DetailInfo>{new DetailInfo{Name = "111测试",Description = "111描述内容"},new DetailInfo{Name = "222测试",Description = "222描述内容"},new DetailInfo{Name = "333测试",Description = "333描述内容"}}};//构造一个记录的集合var list = new List<Detail2Result> { result };
接着通过代码创建我们需要的视图信息 , 如创建主表的GridView显示如下所示 。
GridView grv2 = null;/// <summary>/// 创建第二个视图/// </summary>private void CreateLevelView{var grv = this.gridView1;var gridControl = this.gridControl1;//创建一个从表的GridView对象grv2 = new GridView;grv2.ViewCaption = "记录明细";grv2.Name = "grv2";grv2.GridControl = gridControl;//构建GridLevelNode并添加到LevelTree集合里面var node = new GridLevelNode;node.LevelTemplate = grv2;node.RelationName = "Detail2List";//这里对应集合的属性名称gridControl.LevelTree.Nodes.AddRange(new GridLevelNode{node});//添加对应的视图集合显示gridControl.ViewCollection.Clear;gridControl.ViewCollection.AddRange(new BaseView { grv, grv2 });//创建从表显示的列grv2.Columns.Clear;grv2.CreateColumn("ID", "ID");grv2.CreateColumn("Name", "名称");grv2.CreateColumn("Description", "描述内容");//设置非只读、可编辑grv2.OptionsBehavior.ReadOnly = false;grv2.OptionsBehavior.Editable = true;}
剩下的就是数据的绑定处理了 , 这里构建列表 , 绑定数据源展示即可
//构造一个记录的集合var list = new List<Detail2Result> { result };//绑定数据源this.gridControl1.DataSource = list;
可以看到例子的效果界面如下所示 。
本文插图
二级和三级处理的方式类似 , 就不再赘述了 。
- 单片机|快2022年,从事单片机/硬件开发前景到底如何?
- 银河系|银河系和仙女座星系的碰撞已经开始?太阳系未来的命运会如何?
- |如何区分三相电源的相序?
- 银黑狐|罕见银黑狐现身北京门头沟,如狗般乖巧,它们是如何被驯化的?
- 新型冠状肺炎|曾经危机地球的生机,氧气如何慢慢变成了“毒气”
- |如果我们能控制时间,那会如何?答案无法想象
- 鹿茸|探索未来:元宇宙将彻底摧毁人类婚姻制度?未来人如何繁衍后代?
- WPS|喜爱大屏手机的用户看过来,这两款大屏手机使用体验堪比平板
- |1970年我国发射第一颗卫星,如今现状如何?
- 自媒体|注意这4个问题,你就能获得第二份副业收入,上班族如何做自媒体