具有合并行的 ASP.net 网格分页
Posted
技术标签:
【中文标题】具有合并行的 ASP.net 网格分页【英文标题】:ASP.net Grid paging with merged rows 【发布时间】:2012-04-12 17:58:41 【问题描述】:我目前正在使用 GridView 来显示表格数据。我需要合并第一列中具有相同值的单元格。目前我在PreRender
事件中有代码为我设置RowSpan
属性,它工作正常。
问题是我不能使用分页,因为页面会在第一个字段相等的部分中间拆分。
我希望分页的记录计数为每个合并的行计数一个,而不是每个子行一个。
GridView 或其他一些 jQuery 网格可以做到这一点吗?
【问题讨论】:
嗨,安德鲁,您有解决方案吗?合并行后,我在 Asp.net 中的 Gridview 面临同样的问题。 这个问题需要再次关注。 【参考方案1】:不是在 UI 级别处理合并,而是以您可以直接绑定到它的方式准备数据源吗?
基本上创建一个包含数据的视图模型,格式更易于绑定。
GridView.DataSource() = vmAlreadyMergedAndReadtToGoOBject
GridView.DataBind();
我不确定您从哪里获取数据,但您不能根据从源(数据库)返回的结果集以编程方式构建绑定到网格的对象吗? 然后,如果您通过组合相同的行值来构建该对象,则可以将网格绑定到它...不完全清楚您在做什么,但这是首先想到的....
【讨论】:
我不知道在数据源中合并行的方法 - 你能详细说明一下吗?【参考方案2】:for (i = PagSize; i <= dt.Rows.Count; i++)
Curr = dt.Rows[i - 1]["Brand"].ToString();
if (i < dt.Rows.Count)
Nxt = dt.Rows[i]["Brand"].ToString();
diff = dt.Rows.Count - i;
if (Curr != Nxt)
DctPaging.Add(PageNum, i);
PageNum = PageNum + 1;
i = i + PagSize;
if (i >= dt.Rows.Count)
DctPaging.Add(PageNum, i);
break;
参考Click Here
【讨论】:
以上是关于具有合并行的 ASP.net 网格分页的主要内容,如果未能解决你的问题,请参考以下文章
ag 网格服务器端分页“当网格位于绘制行的中间时,无法让网格绘制行”