答案 0 :(得分:2)
你真的不会得到一个适合所有类的人,这就是为什么它被称为自定义分页。
关于我过去如何实现这一点的简单指南。
将当前页码存储在某处Querystring / Session / Wherever
当您调用数据方法/存储过程以询问每页所需的页码数和记录数时的数据传递。
修改存储过程/数据方法只返回这些边界中的记录,它还需要返回总记录的计数,以便应用程序知道有多少页面。
以下是使用SQL2005 / 2008如何在存储过程中实现分页的简单示例(稍微多于2000年)
CREATE PROCEDURE GetTowns
(
@OutTotalRecCount INT OUTPUT,
@CurrentPage INT,
@PageSize INT
)
AS
SELECT * FROM
(
SELECT
ROW_NUMBER() OVER (ORDER BY TownName) AS Row,
TownId,
TownName
FROM Towns
) AS TownsWithRowNumbers
WHERE Row >= (@CurrentPage - 1) * @PageSize + 1 AND Row <= @CurrentPage*@PageSize
SELECT @OutTotalRecCount = COUNT(*) FROM Towns
答案 1 :(得分:0)