编码中表格相同列的内容合并展示

2025-10-24 05:27:14

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 就是合并后的效果,合并后的页面是不是更加简单清楚呢,希望能够在你的后续编码能有所帮助。

编码中表格相同列的内容合并展示

编码中表格相同列的内容合并展示

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢