GridView单元格合并

#region 合并单元格 合并某一行的所有列
  ///  <summary> 
  ///  合并GridView中某行相同信息的行(单元格)
  ///  </summary> 
  ///  <param  name="GridView1">GridView对象</param> 
  ///  <param  name="cellNum">需要合并的行</param>
  public static void GroupRow(GridView GridView1, int rows)
  {
  TableCell oldTc = GridView1.Rows[rows].Cells[0];
  for (int i = 1; i < GridView1.Rows[rows].Cells.Count; i++)
  {
  TableCell tc = GridView1.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 GridView1, int rows,int sCol,int eCol)
    {
       TableCell oldTc = GridView1.Rows[rows].Cells[sCol];
      for (int i = 1; i < eCol - sCol; i++)
      {
        TableCell tc = GridView1.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 GridView1, int cols)
    {
      if (GridView1.Rows.Count < 1 || cols > GridView1.Rows[0].Cells.Count - 1)
      {
        return;
      }
      TableCell oldTc = GridView1.Rows[0].Cells[cols];
      for (int i = 1; i < GridView1.Rows.Count; i++)
      {
        TableCell tc = GridView1.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 GridView1, int cols,int sRow,int eRow)
    {
      if (GridView1.Rows.Count < 1 || cols > GridView1.Columns.Count - 1)
      {
        return;
      }
      TableCell oldTc = GridView1.Rows[sRow].Cells[cols];
      for (int i = 1; i < eRow - sRow; i++)
      {
        TableCell tc = GridView1.Rows[sRow + i].Cells[cols]; 
        tc.Visible = false;
        if (oldTc.RowSpan == 0)
        {
          oldTc.RowSpan = 1;
        }
        oldTc.RowSpan++;
        oldTc.VerticalAlign = VerticalAlign.Middle;
      }
    }
    #endregion

(0)

相关推荐

  • GridView单元格合并

    #region 合并单元格 合并某一行的所有列 /// <summary> /// 合并GridView中某行相同信息的行(单元格) /// </summary> /// <param name="GridView1">GridView对象</param> /// <param name="cellNum">需要合并的行</param> public static void GroupRow(G

  • ExtJS 4.2 Grid组件单元格合并的方法

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid组件,然后查看下的HTML源码. 1.1.1 Grid组件 1.1.2 HTML代码 从这些代码中可以看出,Grid组件可分为grid-header和grid-body 两块区域(若含有工具栏和分页栏,它们都会含有各自的独立区域). 其中grid-body包含了许多tr元素,每一个tr都是代表Gri

  • 使用jQuery 操作table 完成单元格合并的实例

    比较表格的内容.判断是否合并单元格: tr = $("#printPage tr").length;// 获取当前表格中tr的个数 var mark = 0; //要合并的单元格数 var index = 0; //起始行数 /* * 要合并单元格,需要存储两个参数, * 1,开始合并的单元格的第一行的行数, * 2.要合并的单元格的个数 **/ console.log(tr); //判断 若只有一行数据,则不做调整 if(tr <= 2){ }else{ //var i=1 比

  • Java使用EasyExcel进行单元格合并的问题详解

    目录 1.项目场景: 2.问题描述 3.原因分析: 5.总结 总结 1.项目场景: 简介:报销单导出要根据指定的excel模板去自动替换对应,然后重新生成一份新的excel.在给定的excel模板中,有部分字段进行了单元格合并,如下所示. 2.问题描述 由于一张报销单可能存在多条报销内容,可以看到,当超过模板中预先给定的一条时,则会自动换行,但换行时并不会自动依照模板中的样式进行单元格合并,如下所示. 3.原因分析: 首先可以直观的看到excel进行数据插入并自动换行的时候,换行的数据并没有按照

  • Element UI中table单元格合并的解决过程

    目录 引言 解决思路: 1.格式化后台返回的数据(根据实际数据格式处理) 2.在 data 中定义数据,需要合并几列就定义几个数组和索引 3.定义合并函数 4.table 组件属性 span-method 的单元格合并方法: 完整代码: 总结 引言 项目中遇到表格单元格合并的需求,在此记录整个解决过程. 项目使用的是 Element UI,表格使用的是 table 组件.Element UI 的 table 表格组件中对单元格进行合并,需要使用 table 组件的 span-method 属性.

  • JQuery实现表格中相同单元格合并示例代码

    代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>merge.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this

  • jQuery实现HTML表格单元格的合并功能

    本文实例讲述了jQuery实现HTML表格单元格合并的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 合并前: 合并后: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.

  • javascript合并表格单元格实例代码

    本文为大家介绍了一段来源于网络上的代码实例,能够合并单元格,下面和大家分享一下,希望能够给需要的朋友或多或少带来一定的帮助. 代码实例如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>表格单元格合并代码</title> <script type="text/javascript"> function au

  • jquery 动态合并单元格的实现方法

    如下所示: ////在table的第二行的位置添加一行: var tbl_elm = $("#dgList"); $('<tr><td colspan=\'2\'>xxxxxx</td></tr>').insertBefore($("TR", tbl_elm).eq(1)) ////table中指定行第N列合并单元格(合并后会多出一列,删除N+1单元格即可) var tds = $("#dgList .Tab

  • java实现合并单元格的同时并导出excel示例

    介绍 POI提供API给Java程序对Microsoft Office格式档案读和写的功能.POI可以操作的文档格式有excel,word,powerpoint等,POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,0,(short)1)); 跨第1行第1个到第2行第1个单元格的操作为 sheet.addMe

随机推荐