场景

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. python第二课--分支结构与循环结构

    if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...

  2. 重读《学习JavaScript数据结构与算法-第三版》- 第3章 数组(一)

    定场诗 大将生来胆气豪,腰横秋水雁翎刀. 风吹鼍鼓山河动,电闪旌旗日月高. 天上麒麟原有种,穴中蝼蚁岂能逃. 太平待诏归来日,朕与先生解战袍. 此处应该有掌声... 前言 读<学习JavaScr ...

  3. 集成Ribbon的客户端调用工具——Feign

    什么是Feign? 客户端调用工具 Ribbon+RestTemplate Feign Feign特性: Feign本身包含Ribbon Fegin是一个采用基于接口的注解的声明式客户端调用工具,更加 ...

  4. powerdesigner16.6版本resource的重复使用

    今天早上遇到想要重复使用resource ,但是发现powerdesigner16.6版本跟16.5版本有关重复使用name的设置已经不一样了,网上找了好久没找到,软件上找了好久也没找到相应的设置. ...

  5. application.yml 增加数据库连接,重启日志卡死

    SpringBoot引入JPA,application.ymlapplication.yml增加数据库链接参数,启动卡死,日志没有动,如下图 折腾好久,后面发现用 Maven的package 过程中 ...

  6. rabbitmq集群操作与启停

    一.rabbitmq集群必要条件 1.1. 绑定实体ip,即ifconfig所能查询到的绑定到网卡上的ip,以下是绑定方法 1.2. 配置域名映射到实体ip 二.启动停止 2.1 停止 2.2 启动 ...

  7. 浅析ebtables的概念和一些基本应用

    一.ebtables 是什么?   ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具. 为什么叫配置工具呢?   是因为他们只制定规则,具体的实施者是内核!也就是说 ...

  8. linux 7忘记密码找回

    一.linux 7忘记密码二种更改方法 centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导.重置密码主要有rd.break和init两种方法. ...

  9. HDU 6319

    题意略. 思路:倒着使用单调队列,大的放在前,小的放在后. 详见代码: #include<bits/stdc++.h> using namespace std; typedef long ...

  10. 简单使用AspectJ

    AspectJ是一个AOP框架,由于SpringAOP的配置过于繁琐,因此使用了AspectJ依赖注解开发 1.Aspecj依赖坐标,此处省略了Spring相关依赖 <dependency> ...