C# DataGridView内容合并相同的行
来源:互联网 发布:思想深度 知乎 编辑:程序博客网 时间:2024/06/06 01:47
主要原理就是在CellingPainting时间中,删除原来的所在列的网格,然后重新画线,显示内容。代码如下:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { // 对第n列相同单元格进行合并,多列合并继续加条件 if (e.ColumnIndex == n-1 && 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; } } } }
这种写法还不完善,后续。
1 0
- C# DataGridView内容合并相同的行
- js合并具有相同内容的单元格,跨行合并!
- 合并内容相同的单元格
- java--poi生成excel动态合并内容相同的行
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- 合并datagrid中内容相同的单元格
- DataGrid用法:合并内容相同的单元格
- JQUERY 合并内容相同的单元格
- js合并内容相同的单元格
- 如何批量合并相同内容的单元格
- js合并相同内容表格行
- c# dataGridView的单元格的合并
- 合并DataGrid相同的行
- 【NGUI】Unity使用Resources加载NGUI的图片
- leetcode contains duplicate III
- UIImage剪切图片为自定义大小
- WebSocket形象理解
- 快速索引 (对View的自定义,黑马程序员)
- C# DataGridView内容合并相同的行
- R绘图lattice包
- Codeforces Round #322 (Div. 2)
- Oracle基本用法
- light oj 1100 - Again Array Queries
- Android获取控件大小的方法
- 万维网WWW简介
- C语言使用正则表达式
- java简单的各种进制转换