gridview合并单元格

#region 合并单元格 合并某一行的所有列
public static void GroupRow(GridView gridView)
{
    for (int rowIndex = gridView.Rows.Count - 2; rowIndex >= 0; rowIndex--)
    {
       GridViewRow row = gridView.Rows[rowIndex];
       GridViewRow previousRow = gridView.Rows[rowIndex + 1];
       for (int i = 0; i < row.Cells.Count; i++)
       {
           if (row.Cells[i].Text == previousRow.Cells[i].Text)
            {
                 row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 2 ? 2 : previousRow.Cells[i].RowSpan + 1;
                 previousRow.Cells[i].Visible = false;
             }
         }
    }
}
 ///  合并GridView中某行相同信息的行(单元格)
 public static void GroupRow(GridView gridView, int rows)
{
    TableCell oldTc = gridView.Rows[rows].Cells[0];
    for (int i = 1; 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 == 0)
           { oldTc.ColumnSpan = 1; }
           oldTc.ColumnSpan++;
           oldTc.VerticalAlign = VerticalAlign.Middle; }
          else { oldTc = tc; }
       }
  }
合并单元格 合并一行中的几列
 public static void GroupRow(GridView gridView, int rows, int sCol, int eCol)
{
    TableCell oldTc = gridView.Rows[rows].Cells[sCol];
    for (int i = 1; i < eCol - sCol; i++)
   {
       TableCell tc = gridView.Rows[rows].Cells[i + sCol]; 
     //Cells[0]就是你要合并的列
     tc.Visible = false;
       if (oldTc.ColumnSpan == 0)
      { oldTc.ColumnSpan = 1; }
       oldTc.ColumnSpan++;
      oldTc.VerticalAlign = VerticalAlign.Middle;
      }
}
 合并单元格 合并某一列所有行
public static void GroupCol(GridView gridView, int cols)
{
      if (gridView.Rows.Count < 1 || cols > gridView.Rows[0].Cells.Count - 1)
      { return; }
     TableCell oldTc = gridView.Rows[0].Cells[cols];
      for (int i = 1; i < gridView.Rows.Count; i++)
      {
         TableCell tc = gridView.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; }
        }
}  合并单元格 合并某一列中的某些行
 public static void GroupCol(GridView gridView, int cols, int sRow, int eRow)
{
       if (gridView.Rows.Count < 1 || cols > gridView.Columns.Count - 1)
         { return; }
      TableCell oldTc = gridView.Rows[sRow].Cells[cols];
        for (int i = 1; i < eRow - sRow; i++)
      {
       TableCell tc = gridView.Rows[sRow + i].Cells[cols];
        tc.Visible = false;
          if (oldTc.RowSpan == 0)
        { oldTc.RowSpan = 1; }
         oldTc.RowSpan++;
         oldTc.VerticalAlign = VerticalAlign.Middle;
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值