Nodes 节点

news2024/10/23 0:26:06

Goto Tree List 树列表

Nodes 节点

Tree List 节点是组织成树状层次结构的数据行。

在这里插入图片描述

Add New Nodes 添加新节点

如果 Tree List 具有数据源,则会自动生成节点(TreeListNode 类对象)。要在未绑定模式下添加节点,请调用“树列表设计器”对话框并切换到其“节点”选项卡。

在这里插入图片描述

Add New Nodes in Code 在代码中添加新节点

使用 TreeList.AppendNode 方法将新节点添加到 Tree List。

using DevExpress.XtraTreeList;
using DevExpress.XtraTreeList.Nodes;

TreeListNode parentForRootNodes = null;
// Create a root node.
TreeListNode rootNode = tl.AppendNode(new object[] { "Alfreds Futterkiste", "Germany, Obere Str. 57", "030-0074321" }, parentForRootNodes);
// Create the root node's child node.
tl.AppendNode(new object[] { "Suyama, Michael", "Obere Str. 55", "030-0074263" }, rootNode);

使用以下参数指定新节点的单元格值及其在树层次结构中的位置:

  • nodeData - 用于初始化新节点的单元格值的值数组或 DataRow 对象。数组的值类型必须与数据源中的列类型匹配;否则,将引发异常。

  • parentNode - 一个 TreeListNode 对象,用于指定新节点的父节点。此值将分配给 ParentNode 属性。要附加根节点,请使用 null(VB 中的 Nothing)。

    如果您在 nodeData 参数的相应字段中指定了父节点,则 parentNode 参数应指定相同的节点。

  • parentNodeId - 一个整数值,该值通过其 Id 属性值指定新节点的父节点。

使用以下参数指定新节点中显示的图像。要指定图像,请使用 SelectImageList 集合中的图像索引。

  • imageIndex - 节点未聚焦时显示的图像。此值分配给 ImageIndex 属性。
  • selectImageIndex - 聚焦节点时显示的图像。此值分配给 SelectImageIndex 属性。

使用 checkState 参数指定是否选中节点。如果启用了 AllowRecursiveNodeChecking 选项,则该方法将更新父节点和子节点。

使用 childrenCheckBoxStyle 参数可指定新节点的子节点是显示复选框、单选按钮,还是两者都不显示。此值将分配给 ChildrenCheckBoxStyle 属性。

使用 tag 参数将自定义数据与新节点关联。此值分配给 Tag 属性。

Access Nodes 访问节点

您可以使用 TreeList.Nodes 属性访问控件根级别的节点。

//get the second node by its index
TreeListNode node = treeList1.Nodes[1];
//get all nodes that contain the "R&D" caption
var nodes = treeList1.Nodes.Where(n => n.GetDisplayText("Department").Contains("R&D"));

每个节点都有一个 TreeList.Nodes 存储子节点的集合。您可以使用节点迭代器或以下 API 来检索这些集合中的节点:

  • TreeList.FocusedNode - 获取或设置聚焦节点。
  • TreeList.FindNodeByFieldValue - 按字段值返回节点。
TreeListNode node = treeList1.FindNodeByFieldValue("Employee Name", "Kate Mossheart");
  • TreeList.FindNodeByKeyID - 按节点的键字段值返回节点。
  • TreeList.FindNodeByID - 返回由其标识符指定的节点。

Node Icons 节点图标

节点单元格可以包含一个图标。本节介绍可用于在单元格中显示图像的各种方法。

Select and State Icons Select 和 State 图标

您可以将 select 和 state 图标应用于节点。

在这里插入图片描述
如果 TreeListOptionsView.RowImagesShowMode 属性设置为 InCell,则图标将显示在节点单元格内。

在这里插入图片描述
有关更多信息,请参阅以下帮助主题:节点映像。

Conditional Formatting 条件格式

当您有一组显示不同值或值范围的图标时,请使用此方法。在下图中,指示市场份额增长的图标显示在单元格值旁边。

在这里插入图片描述
有关更多信息,请参阅以下帮助主题:条件格式。

Combo Box with Images 带图像的组合框

您可以使用此方法为单元格值提供图像,也可以将文本条目完全替换为这些图像。下面的代码将复选框替换为包含布尔值的列中的图标。

在这里插入图片描述

using DevExpress.XtraEditors.Repository;

RepositoryItemImageComboBox repositoryItemDescriptionComboBox;
repositoryItemDescriptionComboBox = new RepositoryItemImageComboBox();
repositoryItemDescriptionComboBox.AutoHeight = false;
repositoryItemDescriptionComboBox.GlyphAlignment = DevExpress.Utils.HorzAlignment.Center;
repositoryItemDescriptionComboBox.SmallImages = svgImageCollection;
repositoryItemDescriptionComboBox.Items.Add("", true, 3);

treeList1.RepositoryItems.Add(repositoryItemDescriptionComboBox);
descriptionColumn.ColumnEdit = repositoryItemDescriptionComboBox;

Context Icons in Text Box 文本框中的上下文图标

RepositoryItemTextEdit.ContextImageOptions 指定分配给文本框的栅格或矢量图标。您可以在使用此存储库项目的所有单元格中显示相同的图标。要在单个单元格中显示不同的图标,请创建多个 RepositoryItemTextEdit 对象并处理 TreeList.CustomNodeCellEdit 事件以将这些存储库项目分配给单元格。在下面的示例中,将带有上下文图像的文本框分配给包含“Arthur Miller”的单元格。

在这里插入图片描述

using DevExpress.XtraEditors.Repository;

RepositoryItemTextEdit repositoryItemTextEdit2;
repositoryItemTextEdit2 = new RepositoryItemTextEdit();
repositoryItemTextEdit2.ContextImageOptions.SvgImage = svgImageCollection[0];
treeList1.RepositoryItems.Add(repositoryItemTextEdit2);

private void treeList1_CustomNodeCellEdit(object sender, GetCustomNodeCellEditEventArgs e) {
    TreeList treeList = sender as TreeList;
    if(e.Node.Id != TreeList.NewItemNodeId && e.Column == employeeColumn && treeList.GetRowCellValue(e.Node, e.Column).ToString() == "Arthur Miller") {
        e.RepositoryItem = repositoryItemTextEdit2;
    }
}

Unbound Columns 未绑定的列

如果您需要一个不与特定数据源值关联的列(带有图像),请使用 RepositoryItemPictureEdit 对象创建一个未绑定的列作为就地编辑器。处理 TreeList.CustomUnboundColumnData 事件以向此列提供图像。

HTML Formatting HTML 格式

使用 TreeList.HtmlImages 集合和 Image HTML 标签将图像嵌入到单元格中。请注意,此方法使单元格不可编辑。

treeList1.HtmlImages = svgImageCollection1;
treeList1.RowHeight = 60;
TreeListColumn unbound = new TreeListColumn();
unbound.UnboundDataType = typeof(string);
unbound.FieldName = "unboundImageColumn";
unbound.Visible = true;
unbound.Caption = "Icon";
treeList1.Columns.Add(unbound);
RepositoryItemHypertextLabel htLabel = new RepositoryItemHypertextLabel();
htLabel.HtmlImages = svgImageCollection1;
treeList1.RepositoryItems.Add(htLabel);
unbound.ColumnEdit = htLabel;
treeList1.CustomUnboundColumnData += TreeList1_CustomUnboundColumnData;

private void TreeList1_CustomUnboundColumnData(object sender, DevExpress.XtraTreeList.TreeListCustomColumnDataEventArgs e) {
    if (e.Column.Caption == "Icon") {
        //image from a collection
        e.Value = "<image=add_32x32.png>";
        //image from resources
        //e.Value = "<image=#_589812_200>";
    }
}

Draw a Cell 绘制单元格

处理 CustomDrawNodeCell 事件以重新绘制单元格,并绘制自定义图像和形状。在此示例中,在包含“Arthur Miller”的单元格中绘制了一张图像。

在这里插入图片描述

private void treeList1_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) {
    TreeList treeList = sender as TreeList;
    if (e.Node.Id != TreeList.NewItemNodeId && e.Column == employeeColumn && treeList.GetRowCellValue(e.Node, e.Column).ToString() == "Arthur Miller") {
        e.Cache.DrawImage(imageCollection1.Images[0], e.Bounds.X + offsetX, e.Bounds.Y + offsetY);
    }
}

Node Indents 节点缩进

节点缩进是控件的边界与节点的第一个单元格的边界之间的距离。TreeList.TreeLevelWidth 属性指定根节点的此距离。

在这里插入图片描述

Node Checkboxes and Radio Buttons Node 复选框和单选按钮

您可以在某些树级别向 TreeList 节点添加复选框或单选按钮。

在这里插入图片描述
要设置或检索节点检查状态,请使用 TreeList 控件的方法。在绑定模式下,您可以将节点检查状态与数据源字段同步。有关更多信息,请参阅以下帮助主题:节点检查 - 复选框和单选按钮。

Preview Sections 预览部分

预览部分是显示在节点下的所有列中的不可编辑注释。
在这里插入图片描述
有关更多信息,请参阅以下帮助主题:预览部分。

Examples 例子

  • 如何:遍历节点并计算特定级别的节点数
  • 如何:循环访问节点和折叠特定节点
  • 如何:创建自定义节点并指定各个节点的高度
  • 如何:启用自动高度调整

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【K8S系列】Kubernetes Pod节点Pending状态及解决方案详解【已解决】

在 Kubernetes 中&#xff0c;Pod 的状态为 Pending 表示 Pod 已被创建&#xff0c;但尚未被调度到节点上&#xff0c;或者已调度到节点上但容器尚未开始运行。这一状态常常是因为某些条件未满足&#xff0c;导致 Pod 无法正常启动。以下是对 Pending 状态的详细分析及解决方案…

自由学习记录(12)

综合实践 2D的Shape&#xff0c;Tilemap都要导包的&#xff0c;编辑器也要导包&#xff0c;。。和2d沾边的可能3d都要主动导包 应该综合的去运用&#xff0c;不见得Tilemap就很万能&#xff0c;如果要做什么顶方块的有交互反应的物体&#xff0c; 那直接拖Sprite会更方便一些…

APIJSON 为零代码提供了新的思路

APIJSON 核心概念 APIJSON 是一种用于构建 RESTful API 的 JSON 格式&#xff0c;它提供了一种标准化的方式来定义和处理 API 请求和响应。APIJSON 的设计目标是简化前端和后端之间的数据交互&#xff0c;减少开发工作量&#xff0c;提高开发效率。 在线解析 自动生成文档&am…

【SpringBoot】16 文件上传(Thymeleaf + MySQL)

Gitee仓库 https://gitee.com/Lin_DH/system 介绍 文件上传是指将本地的图片、视频、音频等文件上传到服务器&#xff0c;供其他用户浏览下载的过程&#xff0c;文件上传在日常项目中用的非常广泛。 实现代码 第一步&#xff1a;在配置文件新增如下配置 application.yml s…

docker-compose-lnmp-wordpress

使用 docker-compose 在 CentOS 7 上编写并部署 LNMP (Linux, Nginx, MySQL, PHP) 环境的 YAML 文章目录 部署步骤&#xff1a;1. 安装 Docker 和 Docker Compose1.1安装 Docker&#xff1a;1.2安装 Docker Compose&#xff1a; 2.创建目录结构3.编写docker-compose.yml4.ngin…

Java项目-基于springboot框架的财务管理系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

科研进展 | RSE:全波形高光谱激光雷达数据Rclonte系列处理算法一

《环境遥感》&#xff08;Remote Sensing of Environment&#xff0c;IF11.1&#xff09;近日发表一项来自中国科学院空天信息创新研究院王力、牛铮研究员团队的全波形高光谱激光雷达&#xff08;hyperspectral LiDAR&#xff0c;HSL&#xff09;数据处理算法研究&#xff0c;论…

计算机组成原理一句话

文章目录 计算机系统概述存储系统 计算机系统概述 指令和数据以同等地位存储在存储器中&#xff0c;形式上没有差别&#xff0c;但计算机应能区分他们。通过指令周期的不同阶段。 完整的计算机系统包括&#xff0c;1&#xff09;软件系统&#xff1a;程序、文档和数据&#xff…

DC系列靶机-DC6

一&#xff0c;环境的搭建 VM17 官网下载 kali 2023.4版 https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.4/ 靶场文件 https://download.vulnhub.com/dc/DC-6.zip 二&#xff0c;攻略 首先进行主机发现&#xff1b; 接下来进行端口扫描&#xff1b; 开放了2…

初识git · 远程操作

目录 前言&#xff1a; 理解分布式版本控制系统 远程仓库 仓库操作 克隆仓库 推送和抓取 特殊文件 取别名 标签管理 前言&#xff1a; 在基本操作&#xff0c;分支管理这几个部分&#xff0c;我们都会在本地仓库操作了&#xff0c;但是目前还没有办法将自己的代码远程…

uniapp 实现input聚焦时选中内容(已封装)兼容微信小程序

老规矩先来看看效果噻&#xff01; 从上面的录屏中我们可以看出&#xff0c;要实现input自由选中内容的功能是可以实现的&#xff0c;原理其实很简单。 直接运行即可 <template><view><!-- <input class"psd"type"digit" :value"in…

第二代 GPT-SoVITS V2:解锁语音克隆与合成的无限可能

在 AI 技术蓬勃发展的今天&#xff0c;第二代 GPT-SoVITS V2 如一颗璀璨的明星闪耀登场&#xff0c;为语音处理领域带来了前所未有的变革。它是一款集先进技术与强大功能于一身的声音克隆与语音合成工具&#xff0c;由 RVC 变声器创始人 “花儿不哭” 与 AI 音色转换技术 Sovit…

当小程序学会‘读心术’:表单处理的神秘法则

哈喽&#xff0c;我是阿佑&#xff0c;今天将给大家给咱们的小程序赋能——“读心术”&#xff01; 文章目录 微信小程序的表单处理表单元素&#xff1a;小程序的“语言”表单事件&#xff1a;小程序的“听觉”表单提交&#xff1a;小程序的“表达”总结 微信小程序的表单处理 …

Oracle数据库系统表空间过大,清理SYSTEM、SYSAUX表空间

一.前言 在oracle数据库中&#xff0c;system为系统表空间&#xff0c;存放着一些我们经常用到的系统表和视图&#xff0c;sysaux为辅助表空间&#xff0c;辅助着系统表空间。这两个表空间不宜添加数据文件&#xff0c;会使系统表空间过于臃肿&#xff0c;从而影响数据库的使用…

【Jenkins】2024 最新版本的 Jenkins 权限修改为 root 用户启动,解决 permission-denied 报错问题

最新版本的 Jenkins 修改 /etc/sysconfig/jenkins 中的 JENKINS_USERroot不会再生效&#xff0c;需要按照以下配置进行操作&#xff1a; vim /usr/lib/systemd/system/jenkins.service然后重启就可以了 systemctl daemon-reload # 重新加载 systemd 的配置文件 systemctl res…

Shell编程-案例一(数据库备份服务监测)

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们前面学习了那么多命令&#xff0c;以及涉及到部分逻辑判断的问题。从简单来说&#xff0c;他就是Shell编程&#xff0c;…

基于Multisim三极管B放大系数放大倍数测量电路设计(含仿真和报告)

【全套资料.zip】三极管B放大系数放大倍数测量电路电路设计Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 1.用三个数码管显示B的大小&#xff0c;分别显示个位、十位和百位。 2.显示范围…

springboot041师生健康信息管理系统(论文+源码)_kaic

摘 要 随着移动应用技术的发展&#xff0c;越来越多的用户借助于移动手机、电脑完成生活中的事务&#xff0c;许多的传统行业也更加重视与互联网的结合。 本论文主要介绍基于java的师生健康信息管理系统&#xff0c;运用软件工程原理和开发方法&#xff0c;采用springboot框架…

C++ 进阶:类相关特性的深入探讨

⭐在对C 中类的6个默认成员函数有了初步了解之后&#xff0c;现在我们进行对类相关特性的深入探讨&#xff01; &#x1f525;&#x1f525;&#x1f525;【C】类的默认成员函数&#xff1a;深入剖析与应用&#xff08;上&#xff09; 【C】类的默认成员函数&#xff1a;深入剖…

【凸优化】Legendre变换、共轭函数、对偶

推荐文章 [凸优化-凸共轭]Legendre and Legendre-Fenchel transforms - 知乎 (zhihu.com) 一、Legendre变换 1、几何解释1 Legendre 变换通过选择斜率 作为新的自变量&#xff0c;将函数描述为它的斜率与相应的 x 的函数值之间的关系。几何上&#xff0c;它可以理解为用函…