Gridview中合并单元格,某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容...

Gridview中某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容

C# code
 
 
#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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值