DevExpress的TreeList怎样设置数据源使其显示成单列树形结构
场景
Winform控件-DevExpress18下载安装注册以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在上面已经实现DevExpress的安装之后,拖拽一个TreeList,然后怎样给其设置数据源。
DevExpress的TreeList怎样设置数据源,从实例入手:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102548490
参照上面进行设置数据源的过程。
如果要实现这样单列的树形结构应该怎样设置参数以及数据源。

注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
首先新建一个Winform程序,然后拖拽一个TreeList控件
然后双击进入窗体的加载事件中,如果在别的地方设置数据源同理。
首先进行TreeList样式等的设置
#region 设置列头、节点指示器面板、表格线样式
treeList1.OptionsView.ShowColumns = false; //隐藏列标头
treeList1.OptionsView.ShowIndicator = false; //隐藏节点指示器面板
treeList1.OptionsView.ShowHorzLines = false; //隐藏水平表格线
treeList1.OptionsView.ShowVertLines = false; //隐藏垂直表格线
treeList1.OptionsView.ShowIndentAsRowStyle = false;
#endregion
#region 初始禁用单元格选中,禁用整行选中
treeList1.OptionsView.ShowFocusedFrame = true; //设置显示焦点框
treeList1.OptionsSelection.EnableAppearanceFocusedCell = false; //禁用单元格选中
treeList1.OptionsSelection.EnableAppearanceFocusedRow = false; //禁用正行选中
#endregion
#region 设置TreeList的展开折叠按钮样式和树线样式
treeList1.OptionsView.ShowButtons = true; //显示展开折叠按钮
treeList1.LookAndFeel.UseDefaultLookAndFeel = false; //禁用默认外观与感觉
treeList1.LookAndFeel.UseWindowsXPTheme = true; //使用WindowsXP主题
treeList1.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Percent50; //设置树线的样式
#endregion
然后设置其单列显示
#region 添加单列
DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn();
colNode.Name = String.Format("col{0}", "NodeText");
colNode.Caption = "NodeText";
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; //移除列后是否允许在自定义窗体中显示
treeList1.Columns.Clear();
treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode });
#endregion
注:
这里的FieldName 要与数据源中要显示的属性名相对应。
然后设置作为识别节点的主键字段,这里使用Id来区分标记每个节点;设置其父节点的标记属性。
treeList1.KeyFieldName = "Id";
treeList1.ParentFieldName = "ParentId";
为了构建数据源,我们需要新建一个DataTreeNode类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace TreeListTest
{
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; }
} } }
然后再回到上面构建数据源
DataTreeNode node1 = new DataTreeNode();
node1.Id = "";
node1.ParentId = null;
node1.NodeText = "1公众号"; DataTreeNode node11 = new DataTreeNode();
node11.Id = "";
node11.ParentId = "";
node11.NodeText = "1-1霸道的程序猿"; DataTreeNode node111 = new DataTreeNode();
node111.Id = "";
node111.ParentId = "";
node111.NodeText = "1-1-1大量编程资源"; List<DataTreeNode> data = new List<DataTreeNode>(); data.Add(node1);
data.Add(node11);
data.Add(node111);
然后给TreeList设置数据源
treeList1.DataSource = data;
treeList1.RefreshDataSource();
最终完整的窗体加载方法代码
private void Form1_Load(object sender, EventArgs e)
{
#region 设置列头、节点指示器面板、表格线样式 treeList1.OptionsView.ShowColumns = false; //隐藏列标头
treeList1.OptionsView.ShowIndicator = false; //隐藏节点指示器面板
treeList1.OptionsView.ShowHorzLines = false; //隐藏水平表格线
treeList1.OptionsView.ShowVertLines = false; //隐藏垂直表格线
treeList1.OptionsView.ShowIndentAsRowStyle = false; #endregion #region 初始禁用单元格选中,禁用整行选中 treeList1.OptionsView.ShowFocusedFrame = true; //设置显示焦点框
treeList1.OptionsSelection.EnableAppearanceFocusedCell = false; //禁用单元格选中
treeList1.OptionsSelection.EnableAppearanceFocusedRow = false; //禁用正行选中 #endregion #region 设置TreeList的展开折叠按钮样式和树线样式 treeList1.OptionsView.ShowButtons = true; //显示展开折叠按钮
treeList1.LookAndFeel.UseDefaultLookAndFeel = false; //禁用默认外观与感觉
treeList1.LookAndFeel.UseWindowsXPTheme = true; //使用WindowsXP主题
treeList1.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Percent50; //设置树线的样式 #endregion #region 添加单列 DevExpress.XtraTreeList.Columns.TreeListColumn colNode = new DevExpress.XtraTreeList.Columns.TreeListColumn();
colNode.Name = String.Format("col{0}", "NodeText");
colNode.Caption = "NodeText";
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; //移除列后是否允许在自定义窗体中显示 treeList1.Columns.Clear();
treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { colNode }); #endregion treeList1.KeyFieldName = "Id";
treeList1.ParentFieldName = "ParentId"; DataTreeNode node1 = new DataTreeNode();
node1.Id = "";
node1.ParentId = null;
node1.NodeText = "1公众号"; DataTreeNode node11 = new DataTreeNode();
node11.Id = "";
node11.ParentId = "";
node11.NodeText = "1-1霸道的程序猿"; DataTreeNode node111 = new DataTreeNode();
node111.Id = "";
node111.ParentId = "";
node111.NodeText = "1-1-1大量编程资源"; List<DataTreeNode> data = new List<DataTreeNode>(); data.Add(node1);
data.Add(node11);
data.Add(node111); treeList1.DataSource = data;
treeList1.RefreshDataSource();
}
DevExpress的TreeList怎样设置数据源使其显示成单列树形结构的更多相关文章
- DevExpress的TreeList怎样设置数据源,从实例入手
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- DevExpress的TreeList怎样给树节点设置图标
场景 DevExpress的TreeList怎样设置数据源使其显示成单列树形结构: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...
- DevExpress的TreeList的常用属性设置以及常用事件
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点
场景 DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10254 ...
- DevExpress的TreeList实现节点上添加自定义右键菜单并实现删除节点功能
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- 关于 DevExpress.XtraTreeList.TreeList 树形控件 的操作
作为一个C#程序员,在写程序时一直以来都使用的微软那一套控件,用起来特别爽,可是最近公司的一个项目用到了DevExpress框架,不用不知道,一用吓一跳,不得不承认这个框架确实很强大,效果也很炫,但是 ...
- DevExpress,LayoutControl,TreeList,GridControl等
1.显示边框进行折叠 选择一个layoutControlGroupX 将其GroupBordersVisible设置成True,将TextVisiable=True 2. TreeList 2.1需要 ...
- 在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件
DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...
- Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)
场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- JavaScript初探 四 (程序结构)
JavaScript 结构 JavaScript 程序结构 JavaScript支持几乎和C语言一样的程序结构 分支结构 循环结构 分支结构 条件分支 if-else if语句:判断条件为true则执 ...
- 升鲜宝V2.0_杭州生鲜配送行业,条码标签管理之批量打印标签与分配配送任务相关操作说明_升鲜宝生鲜配送系统_15382353715_余东升
升鲜宝V2.0_杭州生鲜配送行业,条码标签管理之批量打印标签与分配配送任务相关操作说明_升鲜宝供应链管理生鲜配送系统 题外话,随着国家对食材安全这个行业重视性越来越强,最近国家又出具了一些 ...
- Pi Network有梦想是好的,最新消息和下载注册流程。
(注册流程最下面) ---------------------------------------------------------------------------------- 今日更新(10 ...
- 成功安装mysql后,为何服务管理器里找不到MYSQL服务名【转】
解决方案:(参考以下命令) 1.打开cmd,切换到mysql的bin目录下 2. D:\Program Files\MySQL5.1\bin>mysqld.exe -install Servic ...
- excel工资表,转化为word工资单
1.新建excel表,.xls格式; .xlsx格式的添加到word中会报错‘无法打开数据源’(office 2007): 2.新建word文档.docx格式: 3.邮件——开始邮件合并——信函,选择 ...
- SpringCloud学习笔记(十、SpringCloud Sleuth)
目录: 什么是SpringCloud Sleuth 为什么使用SpringCloud Sleuth 如何使用SpringCloud Sleuth 什么是SpringCloud Sleuth: Spri ...
- linux-zookeeper-kafka入门
公告:版权所有,违者必究 1.zookeeper安装 前提:先安装jdk,zookeeper运行依赖于java环境. (1.)下载安装包 http://mirror.bit.edu.cn/apache ...
- NOIP模拟赛 最佳组合
题目描述 Description \(Bzeroth\) 大陆最终还是覆灭了,所以你需要为地灾军团服务了. 地灾军团军师黑袍不擅长写题面,所以你只需要看简化版的题意即可. 给定 \(3\) 个长度均为 ...
- 二分法查找(C语言)
二分法是一种高效的查找方法,其适用于已经排好序的数组 基本思路 从数组最中间的数开始查找判断,若不是需要查找的数字,则比较大小,之后则在从中间分开的两边中的一边从最中间开始查找判断,以此类推 算法描述 ...
- go语言的redis客户端
redis3.0之后提供了新的HA的解决方案,即Cluster模式,由多个节点组成的集群模式.集群master之间基于crc16算法,对key进行校验,得到的值对16384取余,就是key的hash ...