65.9K
CodeProject 正在变化。 阅读更多。
Home

带有下一页/上一页导航的记录集通用分页

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.55/5 (5投票s)

2005年6月21日

CPOL

1分钟阅读

viewsIcon

33006

downloadIcon

582

这篇文章主要介绍了一种为项目目的所需的的分页控件。只需更改三个参数即可使用它。

引言

我曾经在空闲时间完成一项分页功能实现任务。我写这篇文章是为了让大家从中获得一些想法并创建一些控件。.NET 已经为 DataGridDataList 等提供了现成的分页功能。但是,当需要创建动态表,该表填充了数千条记录,而无需使用任何 ASP.NET 控件时,我们就需要手动编写代码。

Sample Image

Precondition

连接字符串:根据您的配置更改 Web.confiq 文件中的连接字符串。

< add key="DSNConn" value="SERVER=localhost;DATABASE=Northwind;UID=sa;PWD=sa" />

常量:有一个 Constant.cs 文件。此常量文件是用于常量和分页设置的存储区域。

public class Constant
{
    public Constant()
    {
        //

        // TODO: Add constructor logic here

        //

    }
    public const int iShowNoPage = 5;//Show No Of pages....

    public static int jIter =iShowNoPage;
    public const int jVirtualInc = iShowNoPage;
    public const int iInitialRecDisplay = 10;
    // How many record you want to display per page..

}

只需更改两个参数,一个是 iShowNoPage = 5/每页(1、2、3、4、5),另一个是 iInitialRecDisplay = 10。iInitialRecDisplay 参数显示数据库中在屏幕上显示的记录数。

实现

注意:DropDownList 包含三个 SQL 查询,这些查询从三个不同的表中获取记录。这是为了表明表 1 可以包含 50 条记录,表 2 可以包含 8 条记录,依此类推。在我们的例子中,总记录数可能因提供的表而异。根据这个总记录数,我们使用模运算数学计算了总页数。这样,就可以获得每屏幕的页数。对于其余逻辑,您可以参考代码,因为它本身就具有解释性。

结论

如果我的分页功能中有任何错误,请告诉我。我将非常感谢您提出的任何建议。

© . All rights reserved.