编码中表格相同列的内容合并展示
1、由于本人平时习惯以C#进行编程,以下例子将以C#的语法展示,其他语言只要修改语法就可以,算法还是可以使用的。
2、新建一个空白页面,如下截图,从工具箱中拖个table到页面,详见截图2中标红框。
3、以下是我在Table中增加的简易内容,仅仅是为了展示效果。图1是前台展示效果,表格中 列1张三内容就重复展示,如果能够合并展示,页面就比较清晰简洁。
4、页面设计结束,接下来就是代码的编写,先定义函数
/// <summary>
/// 表格相同列的内容合并展示
/// </summary>
/// <param name="gv"></param>
/// <param name="cellNum"></param>
private void GroupRows(Table gv, int cellNum)
{
}
函数中gv就是前台定义的table的ID,cellnum就是要合并展示的列,注意这里的列都是从0开始计数的
5、函数体如下:
int i = 0, rowSpanNum = 1;
while (i < gv.Rows.Count - 1)
{
TableRow gvr = gv.Rows[i];
for (++i; i < gv.Rows.Count; i++)
{
TableRow gvrNext = gv.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 == gv.Rows.Count - 1)
{
gvr.Cells[cellNum].RowSpan = rowSpanNum;
}
}
}
6、函数调用 GroupRows(Table1, 0);其中Table1就是前台定义的Table的ID,0就是只针对第一列有相同内容的进行合并。
7、到此结束,图1 就是未合并前的效果,图2 就是合并后的效果,合并后的页面是不是更加简单清楚呢,希望能够在你的后续编码能有所帮助。