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 - ; rowIndex >= ; rowIndex--)
- {
- GridViewRow row = gridView.Rows[rowIndex];
- GridViewRow previousRow = gridView.Rows[rowIndex + ];
- for (int i = ; i < row.Cells.Count; i++)
- {
- if (row.Cells[i].Text == previousRow.Cells[i].Text)
- {
- row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < ? :
- previousRow.Cells[i].RowSpan + ;
- 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[];
- for (int i = ; 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 == )
- {
- oldTc.ColumnSpan = ;
- }
- 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 = ; i < eCol - sCol; i++)
- {
- TableCell tc = gridView.Rows[rows].Cells[i + sCol]; //Cells[0]就是你要合并的列
- tc.Visible = false;
- if (oldTc.ColumnSpan == )
- {
- oldTc.ColumnSpan = ;
- }
- 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 < || cols > gridView.Rows[].Cells.Count - )
- {
- return;
- }
- TableCell oldTc = gridView.Rows[].Cells[cols];
- for (int i = ; i < gridView.Rows.Count; i++)
- {
- TableCell tc = gridView.Rows[i].Cells[cols];
- if (oldTc.Text == tc.Text)
- {
- tc.Visible = false;
- if (oldTc.RowSpan == )
- {
- oldTc.RowSpan = ;
- }
- 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 < || cols > gridView.Columns.Count - )
- {
- return;
- }
- TableCell oldTc = gridView.Rows[sRow].Cells[cols];
- for (int i = ; i < eRow - sRow; i++)
- {
- TableCell tc = gridView.Rows[sRow + i].Cells[cols];
- tc.Visible = false;
- if (oldTc.RowSpan == )
- {
- oldTc.RowSpan = ;
- }
- oldTc.RowSpan++;
- oldTc.VerticalAlign = VerticalAlign.Middle;
- }
- }
- #endregion
- }
- 转自 http://blog.csdn.net/xinshi9608/article/details/5642382
GridView中合并单元格的更多相关文章
- Windows Forms DataGridView中合并单元格
Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.D ...
- 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行
1.常用表格标签 普通 <table> | <tr> | | <th ...
- C# DataGridView中合并单元格
/// 合并GridView列中相同的行 /// /// GridView对象 /// 需要合并的列 public static void GroupRows(GridView GridView1, ...
- tkinter的grid布局中合并单元格
rowspan 合并多行,比如:Label(root,text="table",width=10,height=2,),grid(row=0,column=0,rowspan=2 ...
- GridView相同内容合并单元格
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web; ...
- poi获取合并单元格内的第一行第一列的值
当读取如图所示的excel时,显示为第1行 第1列 的内容是:合并单元格 其它在合并单元格区域内的单元格不显示 示例代码如下: import java.io.FileInputStream; impo ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 合并单元格
jQuery EasyUI 数据网格 - 合并单元格 数据网格(datagrid)经常需要合并一些单元格.本教程将向您展示如何在数据网格(datagrid)中合并单元格. 为了合并数据网格(datag ...
- GRIDVIEW多行多列合并单元格(合并列)
GitHub项目地址:https://github.com/mingceng/merge-gridviewcell 去年的时候,我写了两篇文章: GridView多行多列合并单元格(完整代码和例子) ...
- C# 获取Excel中的合并单元格
C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...
随机推荐
- js 的eval()方法 计算某个字符串,并执行其中的的 JavaScript 代码;
定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...
- Zabbix 源码编译安装
简介: Zabbix 分布式监控系统,源码编译安装记录 ( 记不得是第多少次了 ) 下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX ...
- Windows安装Mysql5.7.22
1.下载Mysql,5.7版本,将zip包解压到某个安装目录下面,最好不要放C盘,选择一个容量大的磁盘.下载地址:https://dev.mysql.com/downloads/mysql/ 2.进入 ...
- nextcloud 安装
nextcloud 优化 设置php.ini vim /etc/php/7.0/apache2/php.ini 添加以下代码: opcache.enable= opcache.enable_cli= ...
- System.Web.Mvc.Html 命名空间小计
1,Html.Action 使用指定参数调用指定子操作方法并以 HTML 字符串形式返回结果. 1 <div id="HtmlAction"> 2 3 @Html ...
- SQLSERVER 建立全文检索
-- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID INT IDENTITY(1,1) NOT N ...
- 配置atom需要安装的插件
本人是一个node后端开发,这里之记录我需要的atom插件,如果需要别的请去别处查找,也省这我自己再去找 1.atom-beautify 代码格式一键美化 2.minimap 代码小地图 3 ...
- sudo问题汇总
1. 注释Defaults requiretty Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端. 否则会出现sudo: sorry, y ...
- Zookeeper使用--Java API
1 创建节点 创建节点有异步和同步两种方式.无论是异步或者同步,Zookeeper都不支持递归调用,即无法在父节点不存在的情况下创建一个子节点,如在/zk-ephemeral节点不存在的情况下创建/ ...
- c/c++笔试面试试题
C 试题(纯属转载) 1.求下面函数的返回值(微软) int func(x) { int countx = 0; while(x) { countx ++; ...