Source Code: Private Void Function() { //用DataView对DataTable(NewData)进行排序 DataView dv = NewData.DefaultView; dv.Sort = "Product ASC"; //对Product列进行顺序排序 NewData = dv.ToTable(); //用DataView对DataTable(NewData)进行排序 object sumObject = NewData.Compute("sum(Qty)", "TRUE"); DataRow dr = NewData.NewRow(); dr[0] = "Total"; dr[2] = sumObject; NewData.Rows.Add(dr); //GridView1的绑定显示 GridView1.DataSource = NewData; GridView1.DataBind(); //GridView1的某一列相同的值只显示第一个(合并成一个) GroupCol(GridView1, 0); } #region 合并单元格 合并某一列所有行 /// <summary> /// 合并GridView中某列相同信息的行(单元格) /// </summary> /// <param name="GridView1"></param> /// <param name="cellNum"></param> 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; } } } #endregion 效果图: