GridView中合并单元格
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Web.UI.WebControls; /// <summary> ///GridViewMergeCell 合并GridView liyang 20090916 /// </summary> public class GridViewMergeCell {public GridViewMergeCell(){////TODO: 在此处添加构造函数逻辑// }#region 合并单元格 合并某一行的所有列public static void GroupRow(GridView gridView){for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--){GridViewRow row = gridView.Rows[rowIndex];GridViewRow previousRow = gridView.Rows[rowIndex + 1];for (int i = 0; i < row.Cells.Count; i++){if (row.Cells[i].Text == previousRow.Cells[i].Text){row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 2 ? 2 :previousRow.Cells[i].RowSpan + 1;previousRow.Cells[i].Visible = false;}}}}/// <summary> /// 合并GridView中某行相同信息的行(单元格)/// </summary> /// <param name="GridView1">GridView对象</param> /// <param name="cellNum">需要合并的行</param>public static void GroupRow(GridView gridView, int rows){TableCell oldTc = gridView.Rows[rows].Cells[0];for (int i = 1; i < gridView.Rows[rows].Cells.Count; i++){TableCell tc = gridView.Rows[rows].Cells[i]; //Cells[0]就是你要合并的列if (oldTc.Text == tc.Text){tc.Visible = false;if (oldTc.ColumnSpan == 0){oldTc.ColumnSpan = 1;}oldTc.ColumnSpan++;oldTc.VerticalAlign = VerticalAlign.Middle;}else{oldTc = tc;}}}#endregion#region 合并单元格 合并一行中的几列/// <summary>/// 合并单元格 合并一行中的几列/// </summary>/// <param name="GridView1">GridView ID</param>/// <param name="rows">行</param>/// <param name="sCol">开始列</param>/// <param name="eCol">结束列</param>public static void GroupRow(GridView gridView, int rows, int sCol, int eCol){TableCell oldTc = gridView.Rows[rows].Cells[sCol];for (int i = 1; i < eCol - sCol; i++){TableCell tc = gridView.Rows[rows].Cells[i + sCol]; //Cells[0]就是你要合并的列tc.Visible = false;if (oldTc.ColumnSpan == 0){oldTc.ColumnSpan = 1;}oldTc.ColumnSpan++;oldTc.VerticalAlign = VerticalAlign.Middle;}}#endregion#region 合并单元格 合并某一列所有行/// <summary>/// 合并GridView中某列相同信息的行(单元格)/// </summary>/// <param name="GridView1"></param>/// <param name="cellNum"></param>public static void GroupCol(GridView gridView, int cols){if (gridView.Rows.Count < 1 || cols > gridView.Rows[0].Cells.Count - 1){return;}TableCell oldTc = gridView.Rows[0].Cells[cols];for (int i = 1; i < gridView.Rows.Count; i++){TableCell tc = gridView.Rows[i].Cells[cols];if (oldTc.Text == tc.Text){tc.Visible = false;if (oldTc.RowSpan == 0){oldTc.RowSpan = 1;}oldTc.RowSpan++;oldTc.VerticalAlign = VerticalAlign.Middle;}else{oldTc = tc;}}}#endregion#region 合并单元格 合并某一列中的某些行/// <summary>/// 合并单元格 合并某一列中的某些行/// </summary>/// <param name="GridView1">GridView ID</param>/// <param name="cellNum">列</param>/// <param name="sRow">开始行</param>/// <param name="eRow">结束列</param>public static void GroupCol(GridView gridView, int cols, int sRow, int eRow){if (gridView.Rows.Count < 1 || cols > gridView.Columns.Count - 1){return;}TableCell oldTc = gridView.Rows[sRow].Cells[cols];for (int i = 1; i < eRow - sRow; i++){TableCell tc = gridView.Rows[sRow + i].Cells[cols];tc.Visible = false;if (oldTc.RowSpan == 0){oldTc.RowSpan = 1;}oldTc.RowSpan++;oldTc.VerticalAlign = VerticalAlign.Middle;}}#endregion } 转自 http://blog.csdn.net/xinshi9608/article/details/5642382
转载于:https://www.cnblogs.com/xiangzhong/archive/2012/08/24/2653619.html
GridView中合并单元格相关推荐
- Excel 中合并单元格的快捷键(ALT+H+M+M)
要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M. 一旦我们使用快捷键执行该函数,它将弹出一条警告消息"合并单元格 ...
- 在合并单元格中数组公式无效_Excel中合并单元格困扰多年的难题,终于被我搞定了...
Excel表格中如果存在合并单元格,经常会遇到一些问题,比如序号填充.数据统计或筛选等,如下图所示,需要根据指定人员姓名查找引用对应的销售部门和销售金额. 这个问题关键在于销售部门列存在合并单元格,如 ...
- GridView跨行合并单元格
/// <summary> ///GridViewCellCombine 的摘要说明 /// </summary> public class GridViewCellCombi ...
- Windows Forms DataGridView 中合并单元格
Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.D ...
- markdown表格在github/gitee中合并单元格
markdown表格合并单元格只能是在.md文件中使用html 代码 github/gitee中的显示效果 横向合并 <table> <tr> <td&g ...
- 在DataGrid中合并单元格行
最近在做项目的时候经常遇到要合并单元格的情况,发现这个东西.net中并没有现成的方法,研究了一下,总结了两种方法. 这个主要都是行合并的,有以下两种情况 1.多行合并为一行,其中将某个或某几个单元格的 ...
- DataGridView 中合并单元格
Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.D ...
- 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行
1.常用表格标签 普通 <table> | <tr> | | <th ...
- html统计表合并单元格的快捷键,excel中合并单元格的快捷键的方法及设置技巧
快捷键的熟练使用可以帮助我们在工作中提高效率,接下来为您讲解合并单元格的快捷键设置方法的图文演示 合并单元格在excel默认的情况下是没有快捷键的. 需要用以下方法设置 1.打开excel,选择工具- ...
最新文章
- mysql innodb_data_file_path_关于innodb_data_file_path设置
- TableView的重要性
- RP2836 OUT0-OUT7 对应关系
- percona-Toolkit
- asterisk-通道变量列表
- antd vue 树更新数据后不展开_很全面的vue面试题总结
- 大佬终于把鸿蒙OS讲明白了,收藏了!
- thinkphp mysql 中文_耗时5天解决thinkphp连接mysql中文乱码的问题
- LGBM分类模型预测
- zoj 1676Network Wars(胡博涛论文题,01分数规划+最小割)
- 解三对角线性方程组的追赶法
- mac 安装使用Liteide
- 【Fiddler抓包】Fiddler基础用法-基于Fiddler5中文汉化版
- WBS——工作分解结构
- 高中生计算机考试软件手机版,信考中学信息技术考试练习系统内蒙古高中版
- 烧结钕铁硼的居里温度与工作温度
- CAD坐标系(UCS)
- 致即将逝去的2020
- LTE信令流程——位置更新
- 巡检过程中有哪些注意事项?智能巡检了解一下
热门文章
- Nagios3完整配置文档
- 网站白痴的 ASP.NET website 学习日志
- 安卓安装包不能覆盖原安装包_LOL手游全网最简单注册,安装教程,安卓 IOS皆可登录!攻略群有游戏安装包!...
- Hive分桶(bucket)
- python安装dlib要cmake,如何使用cmake解决dlib错误?
- (68)信号发生器DDS协议(第14天)
- php7 curl开源库,7个适用于PHP的最佳Curl包装器库
- 浏览器 调用 vue 组件_父子组件的通信
- nvme驱动_用户态NVMe运维利器 SPDK NVMe 字符设备
- 嵌入式 U 盘自动挂载