/// <summary> /// 合并GridView列中相同的行 /// </summary> /// <param name="GridView1">GridView对象</param> /// <param name="cellNum">需要合并的列数</param> public static void GroupRows(GridView GridView1, int cellNum) { int i = 0, rowSpanNum = 1; while (i < GridView1.Rows.Count - 1) { GridViewRow gvr = GridView1.Rows[i]; for (++i; i < GridView1.Rows.Count; i++) { GridViewRow gvrNext = GridView1.Rows[i]; if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text) { gvrNext.Cells[cellNum].Visible = false; gvrNext.Cells[cellNum + 1].Visible = false;//合并第二列 rowSpanNum++; } else { gvr.Cells[cellNum].RowSpan = rowSpanNum; gvr.Cells[cellNum + 1].RowSpan = rowSpanNum;//合并第二列 rowSpanNum = 1; break; } if (i == GridView1.Rows.Count - 1) { gvr.Cells[cellNum].RowSpan = rowSpanNum; gvr.Cells[cellNum + 1].RowSpan = rowSpanNum;//合并第二列 } } } }
根据第一列具有相同的行合并第一,二列具有相同的行。