在 GridView 中显示分页 ASP.NET 即使只有一个页面



在我的数据库中,我有10000000条记录。首先在 GridView 中,我显示前 10 条记录。要查看下一条记录,用户需要单击页码 ( 1,2,3,------10000)。但是当我第一次检索 10 条记录时,GridView 分页没有显示。

有没有办法在 GridView 中静态显示分页 ASP.NET?

对于这么多记录,我不建议使用分页。您可以显示最近添加的前 20 条记录,并提供筛选出记录的选项。用户可以输入关键字。使用此新结果集重新查询和重新绑定 GridView。

您也可以考虑使用PetaPoco,一个Micro-ORM,它将帮助您获取分页结果。

有这么多记录,您确实需要考虑为拉回数据而运行的确切查询。

有许多方法可以进行数据分页(http://beyondrelational.com/modules/2/blogs/28/posts/10434/sql-server-server-side-paging-with-rownumber-function.aspx)。 但是,"最佳"方法取决于您运行的 SQL Server 的确切版本。

从本质上讲,解决方案归结为您通过某种类型的查询传递页码和每页记录数。 通常是一个存储过程,因为查询可能非常混乱。

到达那里后,您有一个选择。 将总记录计数作为查询中的 OUT 参数发送回,并将结果集正常发送回,或者将总记录计数作为列发送回。 这两个选项肯定存在效率问题,因为一种方式需要运行查询两次,而另一种方式需要额外的数据列,从而增加网络流量。

一旦解决了这个问题,您就可以确切地弄清楚您希望 UI 如何工作。

相关内容

最新更新