dev GridControl 按条件纵向合并单元格

news/2024/9/17 13:37:13/

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;  //合并单元格是否已经处理过,无需再次进行省缺处理}}}


http://www.ppmy.cn/news/30029.html

相关文章

Linux系统GPIO应用编程

目录应用层如何操控GPIOGPIO 应用编程之输出GPIO 应用编程之输入GPIO 应用编程之中断在开发板上测试GPIO 输出测试GPIO 输入测试GPIO 中断测试本章介绍应用层如何控制GPIO&#xff0c;譬如控制GPIO 输出高电平、或输出低电平。应用层如何操控GPIO 与LED 设备一样&#xff0c;G…

Git标签与版本发布

1. 什么是git标签 标签&#xff0c;就类似我们阅读时的书签&#xff0c;可以很轻易找到自己阅读到了哪里。 对于git来说&#xff0c;在使用git对项目进行版本管理的时候&#xff0c;当我们的项目开发到一定的阶段&#xff0c;需要发布一个版本。这时&#xff0c;我们就可以对…

《C++ Primer Plus》第18章:探讨 C++ 新标准(9)

编程练习 下面是一个简短程序的一部分&#xff1a; int main() {using namespace std;// list of double deduced from list contentsauto q average_list ({15.4, 10.7, 9.0});cout << q << endl;// list of int deduced from list contentscout << averag…

SQL中字符串截取函数 SUBSTRING

1、left&#xff08;name,4&#xff09;截取左边的4个字符 列&#xff1a; SELECT LEFT(201809,4) 年 结果&#xff1a;2018 2、right&#xff08;name,2&#xff09;截取右边的2个字符 SELECT RIGHT(201809,2) 月份 结果&#xff1a;09 3、SUBSTRING(name,5,3) 截取nam…

初识数据结构——“数据结构与算法”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰进入一个全新的内容的学习&#xff0c;就是算法和数据结构啦&#xff0c;话不多说&#xff0c;让我们进入数据结构的世界吧 什么是数据结构&#xff1f; 什么是算法&#xff1f; 数据结构和算法的重要性 如何学好数据结构和算…

【python中的列表和元组】

文章目录前言一、列表及其使用1.列表的特点2. 列表的使用方法二、元组及其特点1.元组的类型是tuple1.元组的查找操作2. 计算元组某个元素出现的次数3.统计元组内元素的个数总结前言 本文着重介绍python中的列表和元组以及列表和元组之间的区别 一、列表及其使用 1.列表的特点…

重构·改善既有代码的设计.01

前言近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书&#xff0c;这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则&#xff0c;何时重构&#xff0c;以及重构的手法。用来改善既有代…

【微信小程序】-- 案例 - 本地生活(二十)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

【springcloud 微服务】Spring Cloud Alibaba 整合Nacos实战

目录 一、前言 二、常用服务注册中心介绍 2.1 dubbo服务注册示意图 2.2 常用注册中心对比 三、nacos介绍 3.1 什么是nacos 3.2 nacos 特点 3.3 nacos生态链地图 四、nacos部署 4.1 下载安装包 4.2 修改脚本启动模式 4.3 启动nacos 服务 五、Spring Cloud Alibaba…

刷题记录:CF1285D Dr. Evil Underscores 区间异或使序列最大值最小

传送门:CF 题目描述: 有一个长度为 n(1≤n≤105)n\ (1\leq n\leq 10^5)n (1≤n≤105) 的整数序列 a1,⋯,an(0≤ai≤230−1)a_1,\cdots,a_n\ \ (0\leq a_i\leq 2^{30}-1)a1​,⋯,an​ (0≤ai​≤230−1)&#xff0c;你需要找到一个非负整数 XXX 使得 max⁡(ai⊕X)\max(a_i\op…

【python】JSON数据类型与Python数据类型之间的转化

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录JSON格式文件JSON格式序列化与反序列化作用JSON常用数据结构键值对的集合值的有序列表JSON数据类型与Python数据类型之间的转化JSON格式和python的区别读写json文件dump 把python 写到json文件load 把json写…

C语言刷题(4)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容又到了我们的复习啦&#xff0c;那么还是刷题噢&#xff0c;话不多说&#xff0c;让我们进入C语言的世界吧 BC55 简单计算器 BC56 线段图案 BC57 正方形图案 BC58 直角三角形图案 BC59 翻转直角三角形图案 BC60 带空格…

蚁群算法优化问题

%%%%%%%%%%%%蚁群算法解决 TSP 问题%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%% clear all; %清除所有变量 close all; %清图 clc; %清屏 m 50; %蚂蚁个数 Alpha 1; %信息素重要程度参数 Beta 5; %启发式因子重要程度参数 Rho 0.1; %信息素蒸发系数 G 20…

嵌入式学习笔记——STM32硬件基础知识

STM32开发硬件知识前言STM32最小系统电源电路晶振电路复位电路BOOT选择电路调试接口电路其他电路本文重点本文参考博客链接前言 上一篇中我们重点是讲了一下怎么搭建开发环境以及怎么下载烧录的过程&#xff0c;这都是解决的电脑端的开发环境问题&#xff0c;还没有到实际的开…

【C++初阶】list的使用

大家好我是沐曦希&#x1f495; 文章目录一、前言二、构造三、迭代器四、增删查改1.头插头删2.尾插尾删3.查找和插入4.删除五、其他成员函数1.排序和去重2.splice和remove3.resize一、前言 list本质是带头双向循环链表&#xff0c;本文只对list的一些常用接口进行说明&#xf…

用逻辑回归制作评分卡

目录 一.评分卡 二.导库&#xff0c;获取数据 三.探索数据与数据预处理 1.去除重复值 2.填补缺失值 3.描述性统计处理异常值 4.为什么不统一量纲&#xff0c;也不标准化数据分布 5.样本不均衡问题 6.分训练集和测试集 三.分箱 1.分多少个箱子才合适 2.分箱要达成什么…

真香,Grafana开源Loki日志系统取代ELK?

一、Loki是什么&#xff1f; Loki是由Grafana Labs开源的一个水平可扩展、高可用性&#xff0c;多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中&#xff0c;处理海量日志的问题。Loki采用了分布式的架构&#xff0c;并且与Prometheus、Graf…

51单片机入门————数码管显示

我们在马路上看到的红绿灯&#xff0c;就是由数码管来实现的&#xff0c;就是其中可能加入了一些延时和转换数码管是通过控制138译码器与74HC245来控制数码管的亮灭与数字的显示电路原理图我们先讨论一个数码管数码管有共阳极和共阴极&#xff0c;我们现在使用的STC89C52是共阴…

Linux用户空间与内核空间通信(Netlink通信机制)

一&#xff0c;什么是Netlink通信机制 Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信&#xff0c;但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式&#xff0c;一般不用Netlink。除非需要…

Cadence Allegro 导出Bill of Material Report (Condensed)详解

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,Bill of Material Report (Condensed)作用3,Bill of Material Report (Condensed)示例4,Bill of Material Report (Condensed)导出方法4.1,方法14.2,方法2,