GridView行合并

View Code
 1 public static void GroupRows(GridView gvMerge, int cellNum)
 2     {
 3         int i = 0, rowSpanNum = 1;
 4         while (i < gvMerge.Rows.Count - 1)
 5         {
 6             GridViewRow gvr = gvMerge.Rows[i]; 
 7             for (++i; i < gvMerge.Rows.Count; i++)
 8             {
 9                 GridViewRow gvrNext = gvMerge.Rows[i];
10                 if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
11                 {
12                     gvrNext.Cells[cellNum].Visible = false;
13                     rowSpanNum++;
14                 }
15                 else
16                 {
17                     gvr.Cells[cellNum].RowSpan = rowSpanNum;
18                     rowSpanNum = 1;
19                     break;
20                 }
21  
22                 if (i == gvMerge.Rows.Count - 1)
23                 {
24                     gvr.Cells[cellNum].RowSpan = rowSpanNum;
25                 }
26             }
27         }
28     }


模版列行合并

View Code
 1   public  void GroupRows(GridView gvMerge)
 2     {
 3         int i = 0, rowSpanNum = 1;
 4         while (i < gvMerge.Rows.Count - 1)
 5         {
 6             GridViewRow gvr = gvMerge.Rows[i];
 7             Label lblOld = gvr.Cells[0].FindControl("lblMyShopRoomNum") as Label;
 8             for (++i; i < gvMerge.Rows.Count; i++)
 9             {
10                 GridViewRow gvrNext = gvMerge.Rows[i];
11                 Label lbl = gvrNext.Cells[0].FindControl("lblMyShopRoomNum") as Label;
12                 if (lblOld.Text == lbl.Text)
13                 {
14                     gvrNext.Cells[0].Visible = false;
15                     gvrNext.Cells[6].Visible = false;
16                     gvrNext.Cells[7].Visible = false;
17                     gvrNext.Cells[8].Visible = false;
18                     gvrNext.Cells[9].Visible = false;
19                     gvrNext.Cells[10].Visible = false;
20                     rowSpanNum++;
21                 }
22                 else
23                 {
24                     gvr.Cells[0].RowSpan = rowSpanNum;
25                     gvr.Cells[6].RowSpan = rowSpanNum;
26                     gvr.Cells[7].RowSpan = rowSpanNum;
27                     gvr.Cells[8].RowSpan = rowSpanNum;
28                     gvr.Cells[9].RowSpan = rowSpanNum;
29                     gvr.Cells[10].RowSpan = rowSpanNum;
30                     rowSpanNum = 1;
31                     break;
32                 }
33 
34                 if (i == gvMerge.Rows.Count - 1)
35                 {
36                     gvr.Cells[0].RowSpan = rowSpanNum;
37                     gvr.Cells[6].RowSpan = rowSpanNum;
38                     gvr.Cells[7].RowSpan = rowSpanNum;
39                     gvr.Cells[8].RowSpan = rowSpanNum;
40                     gvr.Cells[9].RowSpan = rowSpanNum;
41                     gvr.Cells[10].RowSpan = rowSpanNum;
42                 }
43             }
44         }
45     }

 

posted @ 2012-06-14 00:06  轻量级程序员  阅读(220)  评论(0编辑  收藏  举报
关注获取博文附件