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 }