DevExpress TreeList 自动加载数据源并显示漂亮图标
DevExpress TreeList 自动加载数据源并显示漂亮图标
1. 首先设置TreeList.StateImageList属性,绑定imageList对象。
2. 加载数据表,必须是支持父子级结构的数据。
3. 设置结点Node.ImageIndex属性,使用递归方法SetImageIndex
.png)
C# Code:
private void LoadTree()
{
//获取数据源
DataTable dt = DataDictCache.Cache.UserGroup;
//设置字段
tlCategory.KeyFieldName = "GroupCode";
tlCategory.ParentFieldName = "ParentGroupCode";
tlCategory.DataSource = dt;
//递归设置图标
DevTreeListView.SetImageIndex(tlCategory, null, 1, 0);
tlCategory.ExpandAll();
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
private void LoadTree()
{
//获取数据源
DataTable dt = DataDictCache.Cache.UserGroup;
//设置字段
tlCategory.KeyFieldName = "GroupCode";
tlCategory.ParentFieldName = "ParentGroupCode";
tlCategory.DataSource = dt;
//递归设置图标
DevTreeListView.SetImageIndex(tlCategory, null, 1, 0);
tlCategory.ExpandAll();
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
C# Code:
/// <summary>
/// 设置TreeList显示的图标
/// </summary>
/// <param name="tl">TreeList组件</param>
/// <param name="node">当前结点,从根结构递归时此值必须=null</param>
/// <param name="nodeIndex">根结点图标(无子结点)</param>
/// <param name="parentIndex">有子结点的图标</param>
public static void SetImageIndex(TreeList tl, TreeListNode node, int nodeIndex, int parentIndex)
{
if (node == null)
{
foreach (TreeListNode N in tl.Nodes)
SetImageIndex(tl, N, nodeIndex, parentIndex);
}
else
{
if (node.HasChildren || node.ParentNode == null)
{
//node.SelectImageIndex = parentIndex;
node.StateImageIndex = parentIndex;
node.ImageIndex = parentIndex;
}
else
{
//node.SelectImageIndex = nodeIndex;
node.StateImageIndex = nodeIndex;
node.ImageIndex = nodeIndex;
}
foreach (TreeListNode N in node.Nodes)
{
SetImageIndex(tl, N, nodeIndex, parentIndex);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 设置TreeList显示的图标
/// </summary>
/// <param name="tl">TreeList组件</param>
/// <param name="node">当前结点,从根结构递归时此值必须=null</param>
/// <param name="nodeIndex">根结点图标(无子结点)</param>
/// <param name="parentIndex">有子结点的图标</param>
public static void SetImageIndex(TreeList tl, TreeListNode node, int nodeIndex, int parentIndex)
{
if (node == null)
{
foreach (TreeListNode N in tl.Nodes)
SetImageIndex(tl, N, nodeIndex, parentIndex);
}
else
{
if (node.HasChildren || node.ParentNode == null)
{
//node.SelectImageIndex = parentIndex;
node.StateImageIndex = parentIndex;
node.ImageIndex = parentIndex;
}
else
{
//node.SelectImageIndex = nodeIndex;
node.StateImageIndex = nodeIndex;
node.ImageIndex = nodeIndex;
}
foreach (TreeListNode N in node.Nodes)
{
SetImageIndex(tl, N, nodeIndex, parentIndex);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898

参考文档:
DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)
C# DevExpress TreeListLookUpEdit 绑定数据源下拉窗体
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
Winform软件开发框架使用DevExpress组件有那些优势?|软件平台
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
DevStyle.SetTreeListSelectStyle 设置TreeList组件只读状态(用于选择)
C/S结构快速开发框架使用的DevExpress常用组件
推荐C# Winform+DevExpress皮肤框架|C/S框架网
TreeListNode.HasAsParent详解
Winform C/S结构开发框架客户机部署DevExpress DLL库
创建TreeList及打开TreeListNode.Tag属性对应的窗体
使用递归获取TreeList中所有勾选的结点
DevExpress v10 汉化问题缺少程序集引用解决方案
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)
C# DevExpress TreeListLookUpEdit 绑定数据源下拉窗体
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
Winform软件开发框架使用DevExpress组件有那些优势?|软件平台
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
DevStyle.SetTreeListSelectStyle 设置TreeList组件只读状态(用于选择)
C/S结构快速开发框架使用的DevExpress常用组件
推荐C# Winform+DevExpress皮肤框架|C/S框架网
TreeListNode.HasAsParent详解
Winform C/S结构开发框架客户机部署DevExpress DLL库
创建TreeList及打开TreeListNode.Tag属性对应的窗体
使用递归获取TreeList中所有勾选的结点
DevExpress v10 汉化问题缺少程序集引用解决方案
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
