gpt4 book ai didi

c# - 当 DataSource 未返回完整结果集时手动设置 GridView 的 PageCount?

转载 作者:可可西里 更新时间:2023-11-01 08:42:20 25 4
gpt4 key购买 nike

我正在尝试找出 ASP.NET 的 GridView 分页机制,以便我可以使用框架的 native 功能,而不是我公司自制的手动分页例程,后者需要大量工作才能实现。

除了如何让 GridView 的 PageCount 属性与我们的 Web 服务一起工作之外,我已经弄清楚了一切。目前,我们的网络服务返回总记录数,如下所示:

public object[] GetStuffMethod(int pageNum, int recordsPerPage, out int totalRecords)

这在 GridView 上工作得很好,但是我找到的文档说 GrideViewPageCount 属性是从数据源中的总记录生成的。除了返回所有记录之外,真的没有其他方法可以根据其他方式设置 PageCount 吗?

我的数据源中可能有数万条记录,因此我宁愿不选择所有记录只是为了使 GridView 的页数正常工作。我可能可以忽略 GridView 的页数并自己计算它,但如果框架有办法做到这一点,我宁愿使用它。

最佳答案

我强烈建议您使用 ObjectDataSource 路线。

如果您不熟悉此方法,请参阅以下基础知识:

1) 无需在代码后面手动设置 grid.DataSource 属性,而是向页面添加一个额外的元素。您将网格的 DataSourceID 设置为您的 ObjectDataSource 的 ID。

2) 这是您获得真正控制权的地方。您创建一个新类并为其提供两个函数“SelectRows()”和“GetCount()”。您可以将您的逻辑放在这两个函数中,并根据您的喜好进行优化。如果您需要使用 Web 服务,请随意使用它,但在这种方法下,您可以调用一个返回行,调用另一个返回计数。

3) 使用 ObjectDataSource 的属性编辑器将其连接到您的类并启用分页。一切就绪!

我强烈建议您查看 The Code Project's Example of using ObjectDataSource and GridView因为这显然是支持您想要的方式。

祝你好运!

关于c# - 当 DataSource 未返回完整结果集时手动设置 GridView 的 PageCount?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com