代码
  1 ///   <summary>   
  2         ///   合并GridView中某行相同信息的行(单元格)
  3         ///   </summary>   
  4         ///   <param   name="GridView1">GridView对象</param>   
  5         ///   <param   name="cellNum">需要合并的行</param>
  6         public static void GroupRow(GridView GridView1, int rows)
  7         {
  8             TableCell oldTc = GridView1.Rows[rows].Cells[0];
  9             for (int i = 1; i < GridView1.Rows[rows].Cells.Count; i++)
 10             {
 11                 TableCell tc = GridView1.Rows[rows].Cells[i];   //Cells[0]就是你要合并的列
 12                 if (oldTc.Text == tc.Text)
 13                 {
 14                     tc.Visible = false;
 15                     if (oldTc.ColumnSpan == 0)
 16                     {
 17                         oldTc.ColumnSpan = 1;
 18                     }
 19                     oldTc.ColumnSpan++;
 20                     oldTc.VerticalAlign = VerticalAlign.Middle;
 21 
 22                 }
 23                 else
 24                 {
 25                     oldTc = tc;
 26                 }
 27             }
 28         }
 29 
 30 /// <summary>
 31         /// 合并单元格 合并一行中的几列
 32         /// </summary>
 33         /// <param name="GridView1">GridView ID</param>
 34         /// <param name="rows"></param>
 35         /// <param name="sCol">开始列</param>
 36         /// <param name="eCol">结束列</param>
 37         public static void GroupRow(GridView GridView1, int rows,int sCol,int eCol)
 38         {
 39              TableCell oldTc = GridView1.Rows[rows].Cells[sCol];
 40             for (int i = 1; i < eCol - sCol; i++)
 41             {
 42                 TableCell tc = GridView1.Rows[rows].Cells[i + sCol];   //Cells[0]就是你要合并的列
 43                 tc.Visible = false;
 44                 if (oldTc.ColumnSpan == 0)
 45                 {
 46                    oldTc.ColumnSpan = 1;
 47                 }
 48                 oldTc.ColumnSpan++;
 49                 oldTc.VerticalAlign = VerticalAlign.Middle;
 50             }
 51         }
 52 
 53   /// <summary>
 54         /// 合并GridView中某列相同信息的行(单元格)
 55         /// </summary>
 56         /// <param name="GridView1"></param>
 57         /// <param name="cellNum"></param>
 58         public static void GroupCol(GridView GridView1, int cols)
 59         {
 60             if (GridView1.Rows.Count < 1 || cols > GridView1.Rows[0].Cells.Count - 1)
 61             {
 62                 return;
 63             }
 64 
 65             TableCell oldTc = GridView1.Rows[0].Cells[cols];
 66             for (int i = 1; i < GridView1.Rows.Count; i++)
 67             {
 68                 TableCell tc = GridView1.Rows[i].Cells[cols];
 69                 if (oldTc.Text == tc.Text)
 70                 {
 71                     tc.Visible = false;
 72                     if (oldTc.RowSpan == 0)
 73                     {
 74                         oldTc.RowSpan = 1;
 75                     }
 76                     oldTc.RowSpan++;
 77                     oldTc.VerticalAlign = VerticalAlign.Middle;
 78                 }
 79                 else
 80                 {
 81                     oldTc = tc;
 82                 }
 83             }
 84         }
 85 
 86         /// <summary>
 87         /// 合并单元格 合并某一列中的某些行
 88         /// </summary>
 89         /// <param name="GridView1">GridView ID</param>
 90         /// <param name="cellNum"></param>
 91         /// <param name="sRow">开始行</param>
 92         /// <param name="eRow">结束列</param>
 93         public static void GroupCol(GridView GridView1, int cols,int sRow,int eRow)
 94         {
 95             if (GridView1.Rows.Count < 1 || cols > GridView1.Columns.Count - 1)
 96             {
 97                 return;
 98             }
 99 
100             TableCell oldTc = GridView1.Rows[sRow].Cells[cols];
101             for (int i = 1; i < eRow - sRow; i++)
102             {
103                 TableCell tc = GridView1.Rows[sRow + i].Cells[cols];   
104                 tc.Visible = false;
105                 if (oldTc.RowSpan == 0)
106                 {
107                     oldTc.RowSpan = 1;
108                 }
109                 oldTc.RowSpan++;
110                 oldTc.VerticalAlign = VerticalAlign.Middle;
111             }
112         }
113 
114 
115 
116