dev GridControl 按条件纵向合并单元格
dev GridControl 按条件纵向合并单元格
gridView5.OptionsView.AllowCellMerge = true;
gridView5.CellMerge += gridView5_CellMerge;
//自定义合并单元格监听事件void gridView5_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e){int rowHandle1 = e.RowHandle1;int rowHandle2 = e.RowHandle2;string strValue1 = gridView5.GetDataRow(rowHandle1)["chbwtypename"].ToString(); //获取分数列值string strValue2 = gridView5.GetDataRow(rowHandle2)["chbwtypename"].ToString();if (strValue1 != strValue2){e.Merge = false; //值相同的2个单元格是否要合并在一起e.Handled = true; //合并单元格是否已经处理过,无需再次进行省缺处理}if (e.Column.FieldName != "chbwtypename") //只对分数这一列进行合并,其他列一律不合并{e.Merge = false; //值相同的2个单元格是否要合并在一起e.Handled = true; //合并单元格的操作是否已经处理过,不再需要进行省缺处理}}
反向合并
//自定义合并单元格监听事件
void gridView4_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e)
{
if (e.Column.FieldName == "chbJwightnum")
{
var val1 = gridView4.GetRowCellValue(e.RowHandle1, e.Column);
var val2 = gridView4.GetRowCellValue(e.RowHandle2, e.Column);
e.Merge = val1 == val2;
e.Handled = true;
}
if (e.Column.FieldName == "chbJrewightnum")
{
var val1 = gridView4.GetRowCellValue(e.RowHandle1, e.Column);
var val2 = gridView4.GetRowCellValue(e.RowHandle2, e.Column);
e.Merge = val1 == val2;
e.Handled = true;
}
if (e.Column.FieldName == "chbjscore")
{
var val1 = gridView4.GetRowCellValue(e.RowHandle1, e.Column);
var val2 = gridView4.GetRowCellValue(e.RowHandle2, e.Column);
e.Merge = val1 == val2;
e.Handled = true;
}
if (e.Column.FieldName == "chbjrescore")
{
var val1 = gridView4.GetRowCellValue(e.RowHandle1, e.Column);
var val2 = gridView4.GetRowCellValue(e.RowHandle2, e.Column);
e.Merge = val1 == val2;
e.Handled = true;
}
}
===============
/// <summary>/// 自定义合并列/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void gvSummary_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e){//只合并以下列名的单元格,其他列一律不合并if (e.Column.FieldName == "FCheckDisplay" || e.Column.FieldName == "FOutPlanNo" || e.Column.FieldName == "FSaleOrderNo" || e.Column.FieldName == "FBatchNo" || e.Column.FieldName == "FDeliveryTypeName" || e.Column.FieldName == "FDeliveryTime" || e.Column.FieldName == "FCustName" || e.Column.FieldName == "FProductCode" || e.Column.FieldName == "FProductName" || e.Column.FieldName == "FSpecsName" || e.Column.FieldName == "FMaterialStatus" || e.Column.FieldName == "FNum" || e.Column.FieldName == "FWeight" || e.Column.FieldName == "FMakeDate" ||e.Column.FieldName == "FMaker" || e.Column.FieldName == "FIssuer" || e.Column.FieldName == "FIssueDate"){int row1 = e.RowHandle1;int row2 = e.RowHandle2;string value1 = gvSummary.GetDataRow(row1)["FOutPlanNo"].ToString(); string value2 = gvSummary.GetDataRow(row2)["FOutPlanNo"].ToString();if (value1 != value2){e.Merge = false; //值相同的2个单元格是否要合并在一起e.Handled = true; //合并单元格是否已经处理过,无需再次进行省缺处理}}}
相关文章:
dev GridControl 按条件纵向合并单元格
dev GridControl 按条件纵向合并单元格 gridView5.OptionsView.AllowCellMerge true; gridView5.CellMerge gridView5_CellMerge; //自定义合并单元格监听事件void gridView5_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e){int rowHandle1…...
aws eks 集群初始化过程中pause容器的启动逻辑
eks集群默认策略在磁盘使用量达到threshold时会清除镜像,其中pause镜像也可能会被清除 https://aws.amazon.com/cn/premiumsupport/knowledge-center/eks-worker-nodes-image-cache/ pause容器能够为pod创建初始的名称空间,pod的内的容器共享其中的网络空…...
Numpy专栏目录(长期更新)
文章目录数组基础文件与字符串多项式分布Numpy绝对可以说是支撑Python地位的最重要的包了,几乎所有能叫出名的Python计算库,都不可避免地调用了Numpy,Numpy官网也列出了一些,大致如下图这样,堪称科学计算领域的瑞士军刀…...
English Learning - L2 第1次小组纠音 [ɑː] [ɔː] [uː] 2023.2.25 周六
English Learning - L2 第1次小组纠音 [ɑː] [ɔː] [uː] 2023.2.25 周六共性问题分析大后元音 [ɑː]大后元音 [ɔː]后元音 [uː]我的发音问题后元音 [uː]大后元音 [ɑː] 和 [ɔː]纠音过程第一次第二次第三次共性问题分析 大后元音 [ɑː] 嘴唇过于松散,没…...
博客系统程序(页面设计)
咱们学习javaEE的目的就是完成一个网站.在当前学习的基础上,已经可以完成我们的博客系统的页面的设计了!!!首先我们要进行统筹规划:首先我们的博客页面将会有4个页面:1.博客列表页2.博客详情页显示一个博客的具体内容:3.登录页就是用户输入用户名和页面的地方4.博客编辑页发布新…...
【死锁的排查工具有哪些?】
死锁是指两个或多个进程(线程)相互等待对方持有的资源,导致无法继续执行的情况。在并发编程中,死锁是一个常见的问题,需要使用专门的工具来进行排查和解决。 以下是常用的死锁排查工具: jstack:…...
JUC包:CyclicBarrier源码+实例讲解
1 缘起 上篇文章讲到了CountDownLatch:https://blog.csdn.net/Xin_101/article/details/129116170 作为同系的佼佼者,不得不提CyclicBarrier, 设计理念相似,都是多线程等待,但是,应用的技术以及功能不同&a…...
Trace、Metrics、Logging 选型
背景分布式追踪的起源自从微服务的兴起开始,整个系统架构开始变得极为庞大和复杂,但是服务之间的调用关系,调用消耗时间等等信息却依然是半黑盒的状态。为了能够将调用的链路进行串联,将系统的各种指标数据展示出来以使得系统的链…...
Java验证码
文章目录一、验证码概述二、Java原生验证码1、随机数字验证码2、随机数字和字母验证码3、运算验证码三、引入三方验证码一、验证码概述 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全…...
5天带你读完《Effective Java》(四)
《Effective Java》是Java开发领域无可争议的经典之作,连Java之父James Gosling都说: “如果说我需要一本Java编程的书,那就是它了”。它为Java程序员提供了90个富有价值的编程准则,适合对Java开发有一定经验想要继续深入的程序员…...
探索密码学的未来:SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算
密码算法在现代通信与信息安全中发挥着至关重要的作用,SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算等密码算法被广泛应用于各种信息安全领域。本篇博客将会为大家介绍这些密码算法,以及它们在信息安全中的作用和应用。 一、SM1、SM…...
【教程】去水印开源工具Lama Cleaner在Windows的安装和使用
一、Lama Cleaner是什么? Lama Cleaner是一款开源且免费的人工学习图片去水印程序(个人主要学习用途),没有图片分辨率限制(个人使用暂未发现),并且保存的图片质量很高(个人觉得跟原…...
驾考笔记_2023
科目一1> 扣分制度1.1> 超速1.2> 超载1.3> 车牌1.4> 速记口诀2> 满分学习2.1> 消分学习2.2> 满分重考;3> 罚款 / 判刑3.1> 考证3.2> 审验教育3.3> 酒驾3.4> 200¥3.5> 500¥3.6> 2000¥…...
【架构师】跟我一起学架构——调用链
博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…...
[神经网络]Swin Transformer网络
一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域,Transformer需要解决如下两个问题: ①尺度问题:同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大:若以像素点作为单位&…...
【分布式】什么是分布式,分布式和集群的区别又是什么?答案在正文。
文章目录1. 什么是分布式 ?2. 分布式与集群的区别 ?3.用一个请求串起来4.一个简化的架构图5.分布式环境的特点6.分布式环境下面临的问题7.总结1. 什么是分布式 ? 分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一…...
MyBatis框架的入门案例
MyBatis框架的入门案例 资源地址:https://download.csdn.net/download/weixin_41957626/87531373 1.MyBatis的配置 环境:基于maven的结构 1.1目录结构 1.2依赖包 <dependencies><!--mybatis--><dependency><groupId>org.mybatis…...
红黑树-随记
文章目录1.为什么hashmap用红黑树不用二叉树和平衡二叉树1.1 二叉树(Binary Search Tree)1.2 红黑树(Red Black Tree)1.3 平衡二叉树(Balence Binary Tree)也称AVT2.为什么mysql用b数,不用B数或…...
Python异常处理更新,正常和不正常的都在这里
嗨害大家好鸭!我是小熊猫~ 异常处理篇嗨害大家好鸭!我是小熊猫~Python标准异常💨什么是异常?不正常异常处理💨使用except而不带任何异常类型使用except而带多种异常类型try-finally 语句异常的参数触发异常用户自定义异…...
[数据结构]:10-二叉排序树(无头结点)(C语言实现)
目录 前言 已完成内容 二叉排序树实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-BinarySearchTreeCommon.cpp 04-BinarySearchTreeFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言…...
3倍效率提升的B站视频下载工具:DownKyi如何重构资源获取体验
3倍效率提升的B站视频下载工具:DownKyi如何重构资源获取体验 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等…...
嵌入式WebSocket客户端:零malloc、状态机驱动的轻量级实现
1. WebSocketClient 库深度解析:面向嵌入式系统的轻量级 WebSocket 客户端实现WebSocket 协议(RFC 6455)作为全双工通信的工业级标准,在嵌入式边缘设备与云平台、Web 控制台、MQTT 网关桥接等场景中已成刚需。然而,主流…...
Go语言实战:用EMQX搭建MQTT物联网系统(含Docker部署指南)
Go语言与EMQX实战:构建高可靠物联网通信系统 1. 物联网通信基础与MQTT协议解析 在万物互联的时代,设备间的实时通信成为物联网系统的核心需求。MQTT协议凭借其轻量级、低功耗和高效发布/订阅机制,已成为物联网领域的事实标准。让我们深入探讨…...
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现 你是否曾想过,将那些精美的二次元插画、可爱的卡通头像,或者充满想象力的2.5D游戏角色,一键变成栩栩如生的真人照片?这听起来像是电影里的特效…...
5个高效能的LabelImg图像标注效率提升实践
5个高效能的LabelImg图像标注效率提升实践 【免费下载链接】labelImg LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open s…...
neural-style-tf视频风格转换实战:让整个视频充满艺术气息
neural-style-tf视频风格转换实战:让整个视频充满艺术气息 【免费下载链接】neural-style-tf TensorFlow (Python API) implementation of Neural Style 项目地址: https://gitcode.com/gh_mirrors/ne/neural-style-tf neural-style-tf是一个基于TensorFlow实…...
保姆级教程:在Ubuntu 20.04上用Docker搞定GPUStack,让Atlas 300I Duo推理卡跑通LLM
保姆级教程:Ubuntu 20.04Docker部署GPUStack全流程指南(Atlas 300I Duo专版) 最近在折腾Atlas 300I Duo这块推理卡的朋友应该都深有体会——虽然硬件性能强悍,但要让它在Ubuntu系统上顺利跑起大语言模型,光驱动和依赖就…...
iOS证书(.p12)和描述文件生成避坑指南:从App ID创建到真机测试UDID添加
iOS证书与描述文件生成全流程解析:从核心概念到实战避坑 第一次接触iOS应用打包的开发者,往往会在证书和描述文件这一关卡住。明明按照教程一步步操作,却总是遇到各种报错——"证书无效"、"描述文件不匹配"、"设备未…...
别再纠结Seurat版本了!手把手教你用CCA和Harmony搞定单细胞数据整合(附避坑指南)
单细胞数据整合实战:从CCA到Harmony的精准选择与避坑指南 单细胞RNA测序技术正在重塑我们对复杂生物系统的认知边界。当实验室积累了大量单细胞数据集后,如何将这些分散的数据整合成一个连贯的整体,成为每个研究者必须面对的挑战。我曾见证过…...
HIL测试入门避坑指南:从CANoe配置到故障注入的完整踩坑实录
HIL测试实战避坑手册:从零搭建车窗ECU测试台架的12个关键陷阱 第一次接触HIL测试时,我盯着实验室里那些闪烁的指示灯和缠绕的线缆,仿佛面对着一个未知的宇宙。作为车载测试领域最具挑战性的环节之一,HIL测试既是验证ECU可靠性的终…...
