webform gridview合并单元格
gridview合并单元格
由于项目要求,需要合并某些单元格,因此特意封装了如下帮助类:
/// <summary>
/// 合并单元格
/// </summary>
public class MergeCellHelper
{
/// <summary>
/// 合并表头
/// </summary>
/// <param name="row">当前行</param>
/// <param name="startColumn">开始列</param>
/// <param name="endColumn">结束列</param>
public static void MergeHeader(GridViewRow row, int startColumn, int endColumn)
{
for (int i = startColumn; i <= endColumn; i++)
{
if (i != startColumn)
{
row.Cells[i].Visible = false;
continue;
}
row.Cells[startColumn].ColumnSpan = endColumn - startColumn + ;
}
} /// <summary>
/// 合并指定列的行
/// </summary>
/// <param name="gv">gridview</param>
/// <param name="columns">指定的列:可以多列</param>
public static void MergeRow(GridView gv, params int[] columns)
{
MergeRowByReferenceColumn(gv, , columns);
} /// <summary>
/// 合并指定列的行(参考列一定要合理,慎用)
/// </summary>
/// <param name="gv">gridview</param>
/// /// <param name="referenceColumn">参照列</param>
/// <param name="columns">指定的列:可以多列</param>
public static void MergeRowByReferenceColumn(GridView gv, int referenceColumn, params int[] columns)
{
for (int i = ; i < columns.Length; i++)
{
var currentColumn = columns[i];
int rowSpan = ;
for (int j = ; j < gv.Rows.Count; j++)
{
var currentRow = gv.Rows[j];
if (j < gv.Rows.Count - )
{
var nextRow = gv.Rows[j + ];
if (currentRow.Cells[referenceColumn].Text == nextRow.Cells[referenceColumn].Text)
{
if (currentRow.Cells[currentColumn].Text == nextRow.Cells[currentColumn].Text)
{
rowSpan = rowSpan < ? : rowSpan + ;
nextRow.Cells[currentColumn].Visible = false;
}
else
{
gv.Rows[j - rowSpan + ].Cells[currentColumn].RowSpan = rowSpan;
rowSpan = ;
}
}
else
{
gv.Rows[j - rowSpan + ].Cells[currentColumn].RowSpan = rowSpan;
rowSpan = ;
}
}
else
{
gv.Rows[j - rowSpan + ].Cells[currentColumn].RowSpan = rowSpan;
rowSpan = ;
}
}
}
} }
webform gridview合并单元格的更多相关文章
- gridview 合并单元格 并原样导出数据
使用的方式都是比较简单的,asp.net 如何进行数据的导出有好多种方法,大家可以在网上找到, 一下提供一些合并并原样输出的一个简单的代码: public void ToExcel(System.We ...
- gridview合并单元格
记录用,以前写过,忘记了转自:http://marss.co.ua/MergingCellsInGridView.aspx public class GridDecorator { public st ...
- DEV gridview 合并单元格
private void gv_docargo_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e ...
- gridview 合并单元格后,选中颜色重新绘制
gv_docargo.RowStyle += OnRowStyle; private void OnRowStyle(object sender, DevExpress.XtraGrid.Views. ...
- GRIDVIEW多行多列合并单元格(合并列)
GitHub项目地址:https://github.com/mingceng/merge-gridviewcell 去年的时候,我写了两篇文章: GridView多行多列合并单元格(完整代码和例子) ...
- GridView中合并单元格
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- GridView相同内容合并单元格
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web; ...
- Repeater多列分别合并单元格
GridView.Repeater合并单元格可以参考http://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html,但是原文例子是合并一列的 ...
- .Net用字符串拼接实现表格数据相同时合并单元格
前言 最近在做项目通过GridView或Repeater绑定数据,如果两行或若干行某列值相同,需要进行合并单元格,但是实现过程中想到了字符串拼接,于是就没用绑定数据控件,而是用了html结合字符串实现 ...
随机推荐
- visio2003 数据表模型中显示字段类型和注释
1.在visio菜单上选择 数据库->选项->文档. 2.在常规中找到 [在图表中可见的名称] 选中 两者. 3.在表中找到 [数据类型] 选中 显示物理. 4.在数据表模型中创建字段,并 ...
- 【SQL模板】一.修改/新增存储过程TSQL
---Name: 创建存储过程模板.sql ---Purpose: 用于创建 数据库中 新的存储过程 ---Author: xx ---Time: 2015-12-18 10:26:06 ---Rem ...
- .NET中CORS跨域访问WebApi
我这里只写基本用法以作记录,具体为什么看下面的文章: http://www.cnblogs.com/landeanfen/p/5177176.html http://www.cnblogs.com/m ...
- Eclipse Gradle配置
一.Gradle简介 Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具. 二.配置步骤如下: 1.资源下载: Grandle官网下载G ...
- 解决 cmake_symlink_library: System Error: Operation not supported
在编译uchardet时遇到这个错误: cmake_symlink_library: System Error: Operation not supported 创建链接不成功,要确认当前帐户下是否有 ...
- easyui-从数据库读取创建无极菜单
easyui-tree基础必须知道这个如下: 树控件使用<ul>元素定义.标签能够定义分支和子节点.节点都定义在<ul>列表内的<li>元素中.以下显示的元素将被用 ...
- common常用到的类
org.apache.commons.codec.digest.DigestUtils.md5Hex(String) md5
- 2018.09.07 codeforces311B. Cats Transport(斜率优化dp)
传送门 斜率优化dp好题. 对于第i只猫,显然如果管理员想从出发开始刚好接到它,需要在t[i]=h[i]−dist(1,i)" role="presentation" s ...
- [operator]Ubuntu server 18 设置静态IP
root@ubuntu-MesosMaster-Marathon:~# cat /etc/netplan/-cloud-init.yaml # This file is generated from ...
- s111 stark组件
内容回顾: 1. 类当做key 2. django中的model所在app名称.以及小写类名. def index(request): # print(m1.UserInfo,m1.UserInfo. ...