GridView单元格合并

 更新时间:2008年12月19日 14:29:42   作者:  
合并单元格 合并某一行的所有列
#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

相关文章

  • 手把手教你mvc导入excel

    手把手教你mvc导入excel

    这篇文章主要为大家详细介绍了手把手教你mvc导入excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • MVC4制作网站教程第二章 用户密码修改2.3

    MVC4制作网站教程第二章 用户密码修改2.3

    这篇文章主要为大家详细介绍了MVC4制作网站教程,用户密码修改功能的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 使用PowerShell .Net获取电脑中的UUID

    使用PowerShell .Net获取电脑中的UUID

    这篇文章主要介绍了使用PowerShell .Net获取电脑中的UUID 的相关资料,需要的朋友可以参考下
    2016-06-06
  • ASP.NET MVC实现多个按钮提交的方法

    ASP.NET MVC实现多个按钮提交的方法

    这篇文章主要为大家详细介绍了ASP.NET MVC实现多个按钮提交的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 在RowCommand事件中获取索引值示例代码

    在RowCommand事件中获取索引值示例代码

    这篇文章主要介绍了如何在RowCommand事件中获取索引值,需要的朋友可以参考下
    2014-06-06
  • asp.net 动态表单之数据分页

    asp.net 动态表单之数据分页

    我们很常会在项目中提到一个动态表单的概念,比如学校里面学生的考试成绩,当学生登录系统的时候,他当然是希望看到他自己所有科目的成绩;又或者是班主任,他需要看到本班同学所有科目的成绩;这些时候我们一般都会在页面中呈现如下的效果。
    2010-03-03
  • jsp和asp.net共享session值示例代码

    jsp和asp.net共享session值示例代码

    介绍ASP.NET中登录后,JSP可以用ASP.Net中的Session值,大家参考使用吧
    2013-12-12
  • .NET 6开发TodoList应用之实现全局异常处理

    .NET 6开发TodoList应用之实现全局异常处理

    因为在项目中,会有各种各样的领域异常或系统异常被抛出来,那么在Controller里就需要进行完整的try-catch捕获,并根据是否有异常抛出重新包装返回值。有没有办法让框架自己去做这件事呢?本文将为大家介绍如何实现全局异常处理,需要的可以参考一下
    2021-12-12
  • ASP.NET下上传图片到数据库,并且读出图片的代码(详细版)

    ASP.NET下上传图片到数据库,并且读出图片的代码(详细版)

    上传图片到数据库,从数据库的创建到数据库中图片的现实都给出了具体的代码,因为asp.net版本的问题,大家可能需要稍微修改下。
    2010-07-07
  • ASP.NET MVC懒加载如何逐步加载数据库信息

    ASP.NET MVC懒加载如何逐步加载数据库信息

    在ASP.NET MVC中实现数据库的逐步加载可通过懒加载技术完成,首先,在EntityFramework中配置数据库上下文,使用对应的实体类映射数据库表,本文给大家介绍ASP.NET MVC懒加载如何逐步加载数据库信息,感兴趣的朋友跟随小编一起看看吧
    2024-10-10

最新评论