65.9K
CodeProject is changing. Read more.
Home

Generic Paging for Recordset with Next Back Navigation

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.55/5 (5 votes)

Jun 21, 2005

CPOL

1 min read

viewsIcon

32772

downloadIcon

582

This article is basically about a Paging control required for project purposes. One can use this just by changing three parameters.

Introduction

I had made implementing one of the paging functionalities an assignment during my free time. I have written this article so that one can draw some idea and make some control out of it. .NET has provided ready to go paging functionality for DataGrid, DataList etc. But when one has to create a dynamic table populated with thousands of records without using any ASP.NET control, then we have the write code manually.

Sample Image

Precondition

Connection string: change the connection string in Web.confiq file as per your configuration.

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

Constant: There is one Constant.cs file. This Constant file is a storage area for constants and settings for pagination.

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..

}

Just make changes to two parameters, one is iShowNoPage = 5/per page (1, 2, 3, 4, 5) and the other is iInitialRecDisplay = 10. The iInitialRecDisplay parameter displays the number of records from the database on the screen.

Implementation

Note: the DropDownList contains three SQL queries which fetch records from three different tables. This is done to show that table 1 can contain 50 records, table 2 can contain 8 records and so on. In our case, total number of records may vary according to the table provided. On the basis of this total number of records, we have calculated the total number of pages mathematically (using Modulus fun). On doing so, one can get the number of pages per screen. For the rest of the logic one can refer the code as it is self explanatory.

Conclusion:

Please let me know if there are any bugs in my paging functionality. I would appreciate any suggestion on this front.