场景

Winform控件-DevExpress18下载安装注册以及在VS中使用:

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

在上面已经实现DevExpress的安装之后,拖拽一个TreeList,然后怎样给其设置数据源。

设置数据源

1.TreeList 控件可以被绑定到任何传统的数据源: BindingSource、DataTable、DataView 和 DataSet 对象,以及实现了 IList、TypedList 或 IBindingList 接口的对象。

2.要把 TreeList 控件绑定到数据源,则使用 TreeList.DataSource 属性。

3.必须在数据源中通过两个字段实现关于父/子关系的信息。 一个字段必须存储节点的唯一 ID。 另一个字段必须为每个节点都包含父节点的 ID。 要为 TreeList 控件指定这些字段,则使用 TreeList.KeyFieldName 和 TreeList.ParentFieldName 属性。

效果

子节点较多的树形结构效果

简单的TreeList效果

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

为了存取每个节点的父级关系,新建一个节点实体类用来存取节点信息。

此实体具体的属性可以自行添加,但是如上面所说的,必须要有能标识节点间父子关系的

属性字段并且告诉TreeList你设置的标识变量和父级标识变量是啥。

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; }
} }

然后设置数据源

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();

这里设置数据源抽离了一个方法SetTreeListDataSource,在方法中

treeList.KeyFieldName = keyFieldName;
treeList.ParentFieldName = parentFieldName;
treeList.DataSource = data;

这里是构建了没有层级关系的数据源,效果如上面第二个效果图那样,如果想

构造出树形层级关系,就构造出包含父子层数据结构的数据源即可。

DevExpress的TreeList怎样设置数据源,从实例入手的更多相关文章

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

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  2. DevExpress的TreeList的常用属性设置以及常用事件

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  3. DevExpress的TreeList怎样给树节点设置图标

    场景 DevExpress的TreeList怎样设置数据源使其显示成单列树形结构: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

  4. Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点

    场景 DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10254 ...

  5. DevExpress的TreeList实现节点上添加自定义右键菜单并实现删除节点功能

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  6. 关于 DevExpress.XtraTreeList.TreeList 树形控件 的操作

    作为一个C#程序员,在写程序时一直以来都使用的微软那一套控件,用起来特别爽,可是最近公司的一个项目用到了DevExpress框架,不用不知道,一用吓一跳,不得不承认这个框架确实很强大,效果也很炫,但是 ...

  7. DevExpress XtraScheduler日程管理控件应用实例(2)-- 深入理解数据存储

    DevExpress年终击穿底价,单套授权低至67折!查看详情>>> 在上篇随笔<DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用> ...

  8. DevExpress,LayoutControl,TreeList,GridControl等

    1.显示边框进行折叠 选择一个layoutControlGroupX 将其GroupBordersVisible设置成True,将TextVisiable=True 2. TreeList 2.1需要 ...

  9. 在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

随机推荐

  1. JVM内存分配策略,及垃圾回收算法

    本人免费整理了Java高级资料,一共30G,需要自己领取;传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 说起垃圾收集(Garbage Co ...

  2. 【OOM】解决思路

    一.什么是OOM? OOM就是outOfMemory,内存溢出!可能是每一个java人员都能遇到的问题!原因是堆中有太多的存活对象(GC-ROOT可达),占满了堆空间. 二.怎么解决? 1.拿到内存溢 ...

  3. crm-2

    1.分页 web必备的功能 1)批量制造测试数据 定义一个空列表用于存储 orm对象 ,models.表名(字段=...)创建orm对象append到列表 ,使用bulk_create(对象列表)一次 ...

  4. 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

    这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理. 项目安装 在本文中,我们将使用最新.最好的Spring Framework 5.我们将重点介绍S ...

  5. CSS3 2D变形 transform---移动 translate(x, y), 缩放 scale(x, y), 旋转 rotate(deg), transform-origin, 倾斜 skew(deg, deg)

    transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移.旋转.倾斜.缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能靠Flash才可以实现的效果. 变形转换 ...

  6. postgreSQL数据库的初探

    kali是黑客的强大武器,还有一个也是哦——Metasploit postgreSQL数据库是Metasploit的默认数据库哦! 启动postgresql: service postgresql s ...

  7. SSRS 报表开发过程中,除数为0的处理

    这里仅供记录,方法并非原创 在SSRS报表开发过程中,我们经常会遇到除数为0的计算 一般来说,我们都是通过IIF来进行处理,比如: =IIF(B=0,0,A/B) 但实际效果,则是,如果B=0的时候, ...

  8. 【转载】Gradle for Android 第六篇( 测试)

    由于现阶段Android开发趋于敏捷开发,再加上国内大大小小的互联网公司都在做app,导致很多这会是一个系列,所以如果你看完这篇文章,请看下列文章: 开发人员对单元测试没有基本的概念,但是本篇博文不会 ...

  9. RabbitMQ学习笔记(二、RabbitMQ结构)

    目录: RabbitMQ几大组件 交换器类型 RabbitMQ运行流程 RabbitMQ几大组件:(与RabbitMQ第一节中AMQP一样,不细说) 1.生产者.消费者.消息 2.Broker:简单的 ...

  10. Html学习之十七(表格与表单学习--排行版制作)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...