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
原文地址:https://www.cnblogs.com/hfzsjz/p/1993521.html