场景

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

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

在上面安装完DevExpress的基础上使用其Treelist控件。

然后就可以新建数据源的List,并赋值给TreeList。

效果

实现

新建Winform程序,然后拖拽一个TreeList

新建数据源类TreeNode

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace DevExpressSimple
{
class TreeNode
{
//标识Id
private string id;
//父级节点ID
private string parentId;
//节点显示文本
private string nodeText; public string NodeText
{
get { return nodeText; }
set { nodeText = value; }
}
public string ParentId
{
get { return parentId; }
set { parentId = value; }
} public string Id
{
get { return id; }
set { id = value; }
}
}
}

双击窗体进入窗体的加载事件中。

private void Form1_Load(object sender, EventArgs e)
{ string keyFieldName = "Id";
string parentFieldName = "ParentId";
//新建list数据源
List<TreeNode> data = new List<TreeNode>();
data.Add(new TreeNode() { Id = "root", ParentId = String.Empty, NodeText = "测试1" });
data.Add(new TreeNode() { Id = "first", ParentId = "root", NodeText = "测试2" });
//列
DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn();
//设置名字
colNode.Name = "名字";
//设置标题
colNode.Caption = "标题";
//设置从数据源分配给当前列的字段名。
colNode.FieldName = "NodeText";
//设置树列表中显示当前列的位置。
colNode.VisibleIndex = ;
//是否可见
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;
//先清除列
this.treeList1.Columns.Clear();
//将列数组添加到集合的结尾。
this.treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode }); #region 绑定数据源
//设置属性KeyFieldName ParentFieldName
//设置一个值,该值指定绑定到XtratreeList控件的数据源的键字段
this.treeList1.KeyFieldName = keyFieldName;
//设置一个值,该值表示标识此数据源中父记录的数据源字段。
this.treeList1.ParentFieldName = parentFieldName;
this.treeList1.DataSource = data;
//刷新数据
this.treeList1.RefreshDataSource(); #endregion }

注:

1.list就是要显示的数据源,其中Id属性就是别的节点指定父节点的标志。

2.ParentId就是指定父节点,对应节点的Id属性,如果是根节点,则父节点为空。

3.NodeText就是节点要显示的文本。

4.给list赋值之后,还要告诉TreeList对应的关系,所以需要设置treelist的两个属性

KeyFiledName和ParentFiledName。其中KeyFiledName是指定绑定到控件的数据源的键字段,就是指定上面的Id,即作为节点标志的字段。

ParentFiledName是标志此数据 源中父记录的数据源字段。

5.然后还要使用TreeListColumn新建列对象,设置列相关的一些属性,还要通过FieldName指定从数据源中取哪个字段分配给这列。

6.更多的属性直接通过源码中查看源码属性获取。

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11614224

Winform中DevExpress的TreeList的入门使用教程(附源码下载)的更多相关文章

  1. Winform中实现ZedGraph的多条Y轴(附源码下载)

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  2. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  3. Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)

    场景 Winform中实现ZedGraph中曲线右键显示为中文: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100115292 ...

  4. 转:Web 开发中很实用的10个效果【附源码下载】

    原文地址:http://www.cnblogs.com/lhb25/p/10-useful-web-effect.html 在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多 ...

  5. ASP.NET中登录时记住用户名和密码(附源码下载)--ASP.NET

    必需了解的:实例需要做的是Cookie对象的创建和对Cookie对象数据的读取,通过Response对象的Cookies属性创建Cookie,通过Request对象的Cookies可以读取Cookie ...

  6. Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)

    场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  7. openlayers4 入门开发系列之地图导航控件篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  8. openlayers4 入门开发系列结合 echarts4 实现散点图(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  9. openlayers5-webpack 入门开发系列结合 echarts4 实现散点图(附源码下载)

    前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...

随机推荐

  1. Spark 系列(十四)—— Spark Streaming 基本操作

    一.案例引入 这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计.项目依赖和代码实现如下: <dependency> <groupId>org.apac ...

  2. JavaScript 数组、字符串、Map、Set 方法整理

    在线阅读 https://www.kancloud.cn/chenmk/web-knowledges/1080519 数组 isArray():Array.isArray(value) 用于检测变量是 ...

  3. wordpress搬家 更换域名

    结论:wordpress网站文件夹是和域名相关联的 wordpress,备份了数据库 然后用另一个新域名新建站,直接从wordpress官网直接下载的网站压缩包,没有用之前的网站文件夹. 然后把原来的 ...

  4. 数据结构与算法—二叉排序树(java)

    前言 前面介绍学习的大多是线性表相关的内容,把指针搞懂后其实也没有什么难度.规则相对是简单的. 再数据结构中树.图才是数据结构标志性产物,(线性表大多都现成api可以使用),因为树的难度相比线性表大一 ...

  5. CZGL.Auth: ASP.NET Core Jwt角色授权快速配置库

    CZGL.Auth CZGL.Auth 是一个基于 Jwt 实现的快速角色授权库,ASP.Net Core 的 Identity 默认的授权是 Cookie.而 Jwt 授权只提供了基础实现和接口,需 ...

  6. java中Long类型和long类型的大小比较

    在开发过程中老犯一些低级错误,基础还得好好加强啊...... 今天遇到这样一个问题,我用 "=="来比较两个Long类型的数据,明明数值都相等,可是结果就是false,后来仔细想想 ...

  7. 实战SpringCloud响应式微服务系列教程(第四章)

    接上一篇: 实战SpringCloud响应式微服务系列教程(第一章) 实战SpringCloud响应式微服务系列教程(第二章) 实战SpringCloud响应式微服务系列教程(第三章) 1.1.4 引 ...

  8. java性能使用

    1.慎用异常 j写在for循环外面 2.使用局部变量 局部变量在栈(stack)里面,速度快;全局变量在堆(heap)里面 int a =0; public static int ta =0; 3.位 ...

  9. vscode 代码补全工具之aiXcoder

    突然发现了一个好用的代码补全工具,与人工智能相关,具有自学习能力,据说用的越久补全效果越好,可以帮助我们节省掉好多敲代码的时间,所以这么好的工具当然要分享给大家了.废话不多说,直接上vscode的安装 ...

  10. Java IO体系之RandomAccessFile浅析

    Java IO体系之RandomAccessFile浅析 一.RandomAccessFile综述: 1.1RandomAccessFile简介 RandomAccessFile是java Io体系中 ...