第一种: 出处:http://hi.baidu.com/flc_709/blog/item/20976454869fd957574e0020.html /// <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) for (++i; i < GridView1.Rows.Count; i++) if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text) else if (i == GridView1.Rows.Count - 1)
//正常换行
第二种方式:递归方式做成一个控件
public class GroupedGridView : GridView return (int)val; this.ViewState["GroupedDepth"] = value; protected override void OnDataBound(EventArgs e) this.SpanCellsRecursive(0, 0, this.Rows.Count); private void SpanCellsRecursive(int columnIndex, int startRowIndex, int endRowIndex) TableCell groupStartCell = null; for (int i = startRowIndex; i < endRowIndex; i++) bool isNewGroup = (null == groupStartCell) || (0 != String.CompareOrdinal(currentCell.Text, groupStartCell.Text)); if (isNewGroup) groupStartCell = currentCell; SpanCellsRecursive(columnIndex + 1, groupStartRowIndex, endRowIndex);
|
|