合并GridView一列的相同单元格
1 public void GroupRows(GridView GridView1, int cellNum)
2 {
3 int i = 0, rowSpanNum = 1;
4 while (i < GridView1.Rows.Count - 1)
5 {
6 GridViewRow gvr = GridView1.Rows[i];
7 for (++i; i < GridView1.Rows.Count; i++)
8 {
9 GridViewRow gvrNext = GridView1.Rows[i];
10 string s = ((Label)gvr.FindControl("lblid")).Text;
11 string sNext = ((Label)gvrNext.FindControl("lblid")).Text;
12 if (s == sNext)
13 {
14 gvrNext.Cells[cellNum].Visible = false;
15 gvrNext.Cells[cellNum-1].Visible = false;
16 rowSpanNum++;
17 }
18 else
19 {
20 gvr.Cells[cellNum].RowSpan = rowSpanNum;
21 gvr.Cells[cellNum-1].RowSpan = rowSpanNum;
22 rowSpanNum = 1;
23 break;
24 }
25 if (i == GridView1.Rows.Count - 1)
26 {
27 gvr.Cells[cellNum].RowSpan = rowSpanNum;
28 gvr.Cells[cellNum-1].RowSpan = rowSpanNum;
29 }
30
31 }
32 }
33 }
2 {
3 int i = 0, rowSpanNum = 1;
4 while (i < GridView1.Rows.Count - 1)
5 {
6 GridViewRow gvr = GridView1.Rows[i];
7 for (++i; i < GridView1.Rows.Count; i++)
8 {
9 GridViewRow gvrNext = GridView1.Rows[i];
10 string s = ((Label)gvr.FindControl("lblid")).Text;
11 string sNext = ((Label)gvrNext.FindControl("lblid")).Text;
12 if (s == sNext)
13 {
14 gvrNext.Cells[cellNum].Visible = false;
15 gvrNext.Cells[cellNum-1].Visible = false;
16 rowSpanNum++;
17 }
18 else
19 {
20 gvr.Cells[cellNum].RowSpan = rowSpanNum;
21 gvr.Cells[cellNum-1].RowSpan = rowSpanNum;
22 rowSpanNum = 1;
23 break;
24 }
25 if (i == GridView1.Rows.Count - 1)
26 {
27 gvr.Cells[cellNum].RowSpan = rowSpanNum;
28 gvr.Cells[cellNum-1].RowSpan = rowSpanNum;
29 }
30
31 }
32 }
33 }