DataGridView 中合并单元格
下面的代码可以对DataGridView第1列内容相同的单元格进行合并:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
// 对第1列相同单元格进行合并
if (e.ColumnIndex == 0 && e.RowIndex != -1)
{
using
(
Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
backColorBrush = new SolidBrush(e.CellStyle.BackColor)
)
{
using (Pen gridLinePen = new Pen(gridBrush))
{
// 清除单元格
e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
// 画 Grid 边线(仅画单元格的底边线和右边线)
// 如果下一行和当前行的数据不同,则在当前的单元格画一条底边线
if (e.RowIndex < dataGridView1.Rows.Count - 1 &&
dataGridView1.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString() !=
e.Value.ToString())
e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
e.CellBounds.Bottom - 1);
// 画右边线
e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
e.CellBounds.Top, e.CellBounds.Right - 1,
e.CellBounds.Bottom);
// 画(填写)单元格内容,相同的内容的单元格只填写第一个
if (e.Value != null)
{
if (e.RowIndex > 0 &&
dataGridView1.Rows[e.RowIndex - 1].Cells[e.ColumnIndex].Value.ToString() ==
e.Value.ToString())
{ }
else
{
e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
Brushes.Black, e.CellBounds.X + 2,
e.CellBounds.Y + 5, StringFormat.GenericDefault);
}
}
//e.Handled=true;这一句非常重要,必须加上,要不所画的内容就被后面的Painting事件刷新不见了!!!
e.Handled = true;
}
}
}
DataGridView 中合并单元格相关推荐
- Windows Forms DataGridView 中合并单元格
Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.D ...
- Excel 中合并单元格的快捷键(ALT+H+M+M)
要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M. 一旦我们使用快捷键执行该函数,它将弹出一条警告消息"合并单元格 ...
- 在合并单元格中数组公式无效_Excel中合并单元格困扰多年的难题,终于被我搞定了...
Excel表格中如果存在合并单元格,经常会遇到一些问题,比如序号填充.数据统计或筛选等,如下图所示,需要根据指定人员姓名查找引用对应的销售部门和销售金额. 这个问题关键在于销售部门列存在合并单元格,如 ...
- markdown表格在github/gitee中合并单元格
markdown表格合并单元格只能是在.md文件中使用html 代码 github/gitee中的显示效果 横向合并 <table> <tr> <td&g ...
- 在DataGrid中合并单元格行
最近在做项目的时候经常遇到要合并单元格的情况,发现这个东西.net中并没有现成的方法,研究了一下,总结了两种方法. 这个主要都是行合并的,有以下两种情况 1.多行合并为一行,其中将某个或某几个单元格的 ...
- GridView中合并单元格
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行
1.常用表格标签 普通 <table> | <tr> | | <th ...
- html统计表合并单元格的快捷键,excel中合并单元格的快捷键的方法及设置技巧
快捷键的熟练使用可以帮助我们在工作中提高效率,接下来为您讲解合并单元格的快捷键设置方法的图文演示 合并单元格在excel默认的情况下是没有快捷键的. 需要用以下方法设置 1.打开excel,选择工具- ...
- POI-获取Excel中合并单元格问题
项目需要读取上传的excel中的合并单元格.于是找到POI包: 主要是poi-x.x.jar 和 poi-ooxml-x.x.jar包 首先是判断当前sheet页是否存在合并单元格,使用getNumM ...
最新文章
- nginx介绍及常用功能
- Linux下日志文件过大解决方案
- 大数据学习——Storm集群搭建
- Eclipse配置 Maven 异常处理
- Windows服务启动进程----Cjwdev.WindowsApi.dll
- 电脑怎么测试硬盘的读写速度_两块硬盘合二为一,电脑读写翻倍?这样的“好事”你必须得了解...
- swarm 和 k8s_Wildfly Swarm,朝着成熟和一小部分贡献
- 【CCF】201409-2 画图
- Java-HashMap实现原理
- STL中vector介绍
- 2、linux网络编程--无连接与面向连接的区别
- sessionStrorage + localStorage+ cookes
- Java中的DES加密与解密工具类
- 计算机房用还原保护软件,“小哨兵”还原卡v9.1在机房的巧妙应用
- RangeError: Maximum call stack size exceeded
- scp远程传输文件之权限被拒绝解决方案
- 加密一条保序的数据流
- Shell脚本三种循环
- 各大系统如何接入统一的登录认证
- MYSQL 时间格式化