asp.net 中的gridview 之合并GridView中某列相同信息的行(单元格)

312 阅读1分钟

 今天经客户需求需要统计汇总展示数据,使用的控件是asp.net 自带的gridview ,这次需要合并GridView中某列相同信息的行(单元格);经浏览了很多帖子和测试i之后发现底下这种写法及可以很好的拓展也可以简单的使用即可。

/// <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; 
rowSpanNum++; 
} 
else 
{ 
gvr.Cells[cellNum].RowSpan = rowSpanNum; 
rowSpanNum = 1; 
break; 
} 

if (i == GridView1.Rows.Count - 1) 
{ 
gvr.Cells[cellNum].RowSpan = rowSpanNum; 
} 
} 
} 
} 

\