当前位置: 首页 > news >正文

Cells 单元

Goto Data Grid 数据网格

Cells 单元

Content Alignment 内容对齐

显示数值的数据网格单元格会将其内容向右对齐。显示其他类型数据的单元格将其内容向左排列。若要更改单元格内容对齐方式,请处理 ColumnView.RowCellDefaultAlignment 事件。

在这里插入图片描述

Selection Modes 选择模式

使用默认 Grid 设置,用户只能选择整行。将 GridOptionsSelection.MultiSelectMode 属性设置为 GridMultiSelectMode.CellSelect 值,以允许用户选择单个单元格。在此模式下,用户可以使用“Ctrl”和“Shift”键一次选择多个单元格。
在这里插入图片描述

  • GridView.SelectCell、GridView.SelectCells — 允许您选择单个单元格和/或单元格区域的方法。
  • GridView.GetSelectedCells — 返回所选单元格或这些单元格的父 Grid 列。

Display Text and Cell Value 显示文本和单元格值

单元格值是存储在数据源中的值。单元格的显示文本是向用户显示的值。当数据网格对数据进行排序或筛选时,它会处理单元格值(而不是显示文本)。您可以改为按单元格显示值对控件进行排序和筛选数据。为此,请使用 GridColumn.SortMode 和 GridColumn.FilterMode 属性。

某些 Grid 功能(例如,格式化)会改变向最终用户显示实际单元格值的方式。若要在不更改基础值的情况下手动修改单元格的显示文本,请处理 ColumnView.CustomColumnDisplayText 事件。在以下示例中,如果属于 “Length” 列的单元格的值大于 20,则不显示任何内容。

gridView.CustomColumnDisplayText += (sender, e) => {if(e.Column.FieldName == "Length") {double val = (double)e.Value;if (val > 20)e.DisplayText = string.Empty;}};

How to Place an Image in a Grid Cell 如何在网格单元格中放置图像

根据您的任务,您可以使用不同的技术在 Data Grid 单元格中显示图像(字形、图标、图片)。请注意,您不能使用 GridColumn.CellAppearance.Image 属性(数据网格忽略此设置)。

Editor Context Images 编辑器上下文图像

RepositoryItemTextEdit.ContextImageOptions 组允许您将光栅或矢量图标分配给 RepositoryItemTextEdit 对象。如果需要为所有列单元格显示相同的图标,并保持单元格文本可编辑,请使用此方法。

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{string fileName = FileUtil.getFileName("Cell");string filePath = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, "\\img\\" + fileName, false);RepositoryItemTextEdit textEdit = new RepositoryItemTextEdit();textEdit.ContextImageOptions.Image = Image.FromFile(filePath); //Properties.Resources.Cell;if (e.Column.FieldName == "cash_opera" && e.CellValue.ToString() == "00828"){e.RepositoryItem = textEdit;}
}

在这里插入图片描述

Check Edit with Images 选中 Edit with Images

如果需要将布尔单元格值替换为图标,请为此列分配 Check Edit 编辑器。编辑器的 ImageOptions 属性允许您为“Checked”和“Unchecked”编辑器状态设置图标。您还需要将编辑器的 CheckBoxOptions.Style 属性设置为 “custom”。

view.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;
view.OptionsSelection.MultiSelect = true;
view.OptionsSelection.CheckBoxSelectorColumnWidth = 45;
view.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DevExpress.Utils.DefaultBoolean.False;RepositoryItemCheckEdit checkEdit = gridControl1.RepositoryItems.Add("CheckEdit") as RepositoryItemCheckEdit;
checkEdit.ImageOptions.ImageChecked = Image.FromFile(FileUtil.getFilePath("勾选"));
checkEdit.ImageOptions.ImageUnchecked = Image.FromFile(FileUtil.getFilePath("取消"));
checkEdit.CheckBoxOptions.Style = DevExpress.XtraEditors.Controls.CheckBoxStyle.Custom;
gridView1.Columns["IsRead"].ColumnEdit = checkEdit;
gridControl1.RepositoryItems.Add(checkEdit);

Image Combo Box 图像组合框

如果单元格显示要替换为图像的枚举值,请使用链接到 ImageList 或 DevExpress 图像集合的 ImageComboBoxEdit 编辑器。

/** 添加未绑定列*/
GridColumn unboundColumn3 = gridView1.Columns.AddField("Severity");
unboundColumn3.UnboundDataType = typeof(System.Object);
unboundColumn3.Visible = true;
RepositoryItemImageComboBox imageCombo = gridControl1.RepositoryItems.Add("ImageComboBoxEdit") as RepositoryItemImageComboBox;
DevExpress.Utils.ImageCollection images = new DevExpress.Utils.ImageCollection();
images.AddImage(Image.FromFile(FileUtil.getFilePath("Minor.png")));
images.AddImage(Image.FromFile(FileUtil.getFilePath("Moderate.png")));
images.AddImage(Image.FromFile(FileUtil.getFilePath("Severe.png")));
imageCombo.SmallImages = images;
imageCombo.Items.Add(new ImageComboBoxItem("Minor", (short)1, 0));
imageCombo.Items.Add(new ImageComboBoxItem("Moderate", (short)2, 1));
imageCombo.Items.Add(new ImageComboBoxItem("Severe", (short)3, 2));
imageCombo.GlyphAlignment = DevExpress.Utils.HorzAlignment.Center;
gridView1.Columns["Severity"].ColumnEdit = imageCombo;
gridControl1.RepositoryItems.Add(imageCombo);

Conditional Formatting 条件格式

当您设置了静态图标来可视化不同的值或值范围时,建议使用此方法。在这种情况下,图标显示在单元格值旁边。

外观和条件格式

Fill Cells with Images 用图像填充单元格

使用 PictureEdit 编辑器用图像填充整个 Grid 单元格。

/** 添加未绑定列 用图像填充单元格*/
GridColumn unboundColumn4 = gridView1.Columns.AddField("Picture");
unboundColumn4.UnboundDataType = typeof(System.Object);
unboundColumn4.Visible = true;
unboundColumn4.Caption = "图像填充单元格";
RepositoryItemPictureEdit pictureEdit = gridControl1.RepositoryItems.Add("PictureEdit") as RepositoryItemPictureEdit;
pictureEdit.SizeMode = PictureSizeMode.Zoom;
pictureEdit.NullText = " ";
gridView1.Columns["Picture"].ColumnEdit = pictureEdit;
gridControl1.RepositoryItems.Add(pictureEdit);private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{if ((e.Column.FieldName == "Picture") && e.IsGetData){Image image = null;var cash_opera = (string)((DataRowView)e.Row)["cash_opera"];if (cash_opera.Equals("01828")){image = Image.FromFile(FileUtil.getFilePath("Cell.bmp"));}else{image = Properties.Resources.Cell;}e.Value = image;}
}

HTML Formatting HTML 格式

使用 Image 标签将图像嵌入到单元格中。请注意,此方法使单元格不可编辑。

GridColumn unbound = new GridColumn();
unbound.UnboundDataType = typeof(string);
unbound.FieldName = "Html";
unbound.Visible = true;
unbound.Caption = "HTML";
gridView1.Columns.Add(unbound);ImageCollection imageCollection1 = new ImageCollection();RepositoryItemHypertextLabel htLabel = new RepositoryItemHypertextLabel();
htLabel.HtmlImages = imageCollection1;
gridControl1.RepositoryItems.Add(htLabel);
unbound.ColumnEdit = htLabel;private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{if (e.Column.FieldName == "Html"){e.Value = "<a href='https://www.google.com'>Google</a>";}
}

Cell Merging Cell 合并

在 GridView 和 BandedGridView 视图中,具有相同值的单元格可以自动合并。请注意,合并依赖于单元格值,而不是单元格显示文本。

合并的单元格存在以下限制:

  • 最终用户无法编辑合并的单元格。
  • 行多选处于禁用状态。
  • 合并的行无法显示预览部分。如果 GridOptionsView.ShowPreview 选项设置为 true,则无论 GridOptionsView.AllowCellMerge 属性的值如何,都无法合并具有相同值的相邻单元格。
  • 忽略聚焦行和单元格的外观设置(GridViewAppearances.FocusedRow 和 GridViewAppearances.FocusedCell 属性)。
  • 用于绘制偶数行和奇数行的外观设置将被忽略(GridViewAppearances.EvenRow 和 GridViewAppearances.OddRow 属性)。

Related API 相关 API

  • GridOptionsView.AllowCellMerge — 为整个视图启用自动单元格合并。
  • OptionsColumn.AllowMerge — 仅对此列启用自动单元格合并。此属性优先于全局 GridOptionsView.AllowCellMerge 设置。
  • GridView.CellMerge — 此事件允许您实施自定义算法并手动合并单元格。
    在这里插入图片描述
// Trim e-mail addresses
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) {if (e.Column == colCreatorID) {string email = e.DisplayText;string domain = email.Substring(email.IndexOf('@') + 1);e.DisplayText = domain;}
}// Custom cell merge
private void gridView1_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e) {GridView view = sender as GridView;if(view == null) return;if (e.Column == colCreatorID) {string text1 = view.GetRowCellDisplayText(e.RowHandle1, colCreatorID);string text2 = view.GetRowCellDisplayText(e.RowHandle2, colCreatorID);e.Merge = (text1 == text2);e.Handled = true;}
}

Access Grid Cells in Code 在代码中访问网格单元格

  • ColumnView.GetRowCellDisplayText 和 ColumnView.GetRowCellValue
    返回单元格值并显示任何网格单元格的文本。

  • ColumnView.GetFocusedRowCellDisplayText 和 ColumnView.GetFocusedRowCellValue
    返回单元格值并显示属于当前焦点行的任何单元格的文本。

  • ColumnView.FocusedRowHandle 和 ColumnView.FocusedColumn
    设置聚焦的行和列以选择所需的单元格。

  • ColumnView.CellValueChanging 和 ColumnView.CellValueChanged
    这些事件在响应最终用户对单元格值的修改时触发。

相关文章:

Cells 单元

Goto Data Grid 数据网格 Cells 单元 Content Alignment 内容对齐 显示数值的数据网格单元格会将其内容向右对齐。显示其他类型数据的单元格将其内容向左排列。若要更改单元格内容对齐方式&#xff0c;请处理 ColumnView.RowCellDefaultAlignment 事件。 Selection Modes 选…...

2024/11/2 安卓创建首页界面

‌Gradle 8.7 bin‌是指Gradle 8.7版本的二进制包&#xff0c;通常以.zip或.tar.gz格式提供。这个二进制包包含了运行Gradle所需的所有文件&#xff0c;用户可以直接下载并解压使用&#xff0c;无需从源代码编译。 首先了解最常用的布局 线性布局&#xff08;从上到下&#x…...

SpringSession源码分析

默认对常规Session的理解和使用&#xff0c;如何使用Set-Cookie。 Maven库 常见的spring-session-data-redis依赖spring-session-core <dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-core</artifactId&…...

IIC

IIC 目录 IIC BH1750型号的光照传感器 IIC通信协议 iic物理层 IIC软件层协议 -- 那么一主多从&#xff0c;怎么选中与指定的从机通信呢&#xff1f; 从机设备地址 -- 从手册中查看 IIC 写操作 IIC 读操作 硬件IIC和模拟 IIC 使用 模拟 IIC 使用 &#xff01;&…...

LLM Observability: Azure OpenAI (一)

作者&#xff1a;来自 Elastic Vinay Chandrasekhar•Andres Rodriguez 我们很高兴地宣布 Azure OpenAI 集成现已全面上市&#xff0c;它提供了对 Azure OpenAI 服务性能和使用的全面可观察性&#xff01;另请参阅本博客的第 2 部分 虽然我们已经提供了对 LLM 环境的可视性一段…...

qt QBrush详解

1、概述 QBrush是Qt框架中的一个基本图形对象类&#xff0c;它主要用于定义图形的填充模式。QBrush可以用于填充如矩形、椭圆形、多边形等形状&#xff0c;也可以用于绘制背景等。通过QBrush&#xff0c;可以设置填充的颜色、样式&#xff08;如实心、渐变、纹理等&#xff09…...

Excel函数CUnique连接合并指定区域的唯一值

上一篇文章向大家介绍了如何使用VBA在低版本Excel中创建unique函数的方法&#xff0c;今天我跟大家分享一下如何使用函数连接指定区域的唯一值&#xff0c;也就是将unique函数获取的唯一值连接合并成一个&#xff0c;并指定连接符。 同样&#xff0c;我们需要先创建一个自定义的…...

机械革命屏幕设置为RGB

机械革命屏幕设置为RGB 如何设为机械革命屏幕显示为RGB如何设置1.win菜单下输入“显卡控制中心”2.选择显示器3.设置为RGB4.饱和度大家设为自己舒服的就行5.调整亮度 参考来源 如何设为机械革命屏幕显示为RGB 之前买的显示器&#xff0c;感觉调成sRGB看起来非常舒服。就想着是…...

开源项目-投票管理系统

哈喽,大家好,今天主要给大家带来一个开源项目-投票管理系统 投票管理系统主要有首页,发起投票,管理投票,参与投票,查看投票等功能 首页 为用户提供了一键导航到各个功能模块的便捷途径。 新增投票 用户可以在此轻松创建新的投票活动,设置投票主题、选项等信息。 管理…...

LeetCode 104.二叉树的最大深度

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;root [1…...

Android启动流程_Init阶段

前言 本文将会介绍 Android 启动流程&#xff0c;将基于 Android 10 代码逻辑介绍原生启动过程。 bootloader 上电 -> 加载 recovery 镜像或者 boot 镜像 -> linux kernel 启动 -> 加载 init 进程 -> 加载 zygote 进程 -> systemserver 进程 -> 系统启动 …...

萤火虫算法优化BILSTM神经网络多输入回归分析

目录 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 代码 结果分析 展望 完整代码下载:的MATALB代码(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88755564 背影 bp神经网络是一种成熟的神经网络,应用非常广,本文用萤火虫算法…...

在线QP(QuotedPrintable)编码解码工具

具体前往&#xff1a;Quoted-printable在线编码解码工具-将给定文本编码为:可打印字符引用编码(简称&#xff1a;QP编码)&#xff0c;也支持在线解码...

【已解决】cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。ts(2307)

cra 配置路径别名 后&#xff0c;出现 ts 报错&#xff1a;找不到模块“/App”或其相应的类型声明。ts(2307) 然后可以在 tsconfig.json 中配置 baseUrl 和 paths &#xff1a; {"compilerOptions": {"target": "es5","lib": [&quo…...

leetcode-643. 子数组最大平均数 I

文章目录 二 解法2.1 每次都重新计算2.2 使用窗口 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。请你找出平均数最大且 长度为 k 的连续子数组&#xff0c;并输出该最大平均数。任何误差小于 10-5 的答案都将被视为正确答案。二 解法 2.1 每次都重新计算 超时 pu…...

论分布式架构设计及其实现

一、引言 随着互联网用户规模的扩大和需求的多样化&#xff0c;传统的集中式架构已经难以支撑高并发、高可用的系统要求。分布式架构的出现&#xff0c;提供了将计算和存储分布到不同服务器上的解决方案&#xff0c;有效提高了系统的可扩展性和容灾能力。分布式架构目前已广泛…...

基于BP神经网络的手写体数字图像识别

基于BP神经网络的手写体数字图像识别 摘要 在信息化飞速发展的时代&#xff0c;光学字符识别是一个重要的信息录入与信息转化的手段&#xff0c;其中手写体数字的识别有着广泛地应用&#xff0c;如&#xff1a;邮政编码、统计报表、银行票据等等&#xff0c;因其广泛地应用范围…...

QT——串口调试助手

目录 1.QSerialPort类包含了很多有关串口的API 2.实现串口的打开 2.1 方法一&#xff1a;通过函数实现 2.2 方法二&#xff1a;在ui界面右下角实现 3. 实现定时发送 3.1类的私有成员中添加定时器QTimer timer并去构造函数中初始化它 3.2帮助文档中有QTimer类相关的说明 …...

国产操作系统卖疯了!最营收7.84亿,最低1.5亿

最近看各种报道&#xff0c;似乎国产化有提速的绩效&#xff0c;那么既然如此&#xff0c;各个国产操作系统厂商是不是都起飞了呢&#xff1f; 周末闲暇之余&#xff0c;我们来看看各家的营收表现。 银河麒麟2024年1-9月一共卖了多少钱&#xff1f; 前几天中国软件发布了202…...

2024年华为OD机试真题-最小的调整次数-Python-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述: 有一个特异性的…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...