Introduction AllowPaging is an important property in web applications to enable paging. Suppose we want to show a limited number of records from a database using a DetailsView or GridView, then we simply enable its AllowPaging property to True and easily add paging facility. But when we want to add a paging feature to a DataList or Repeater control, then there is not an AllowPaging property. We used PagedDataSource to add a paging feature in DataList or Repeater controls. Here I am displaying records from a database in a DalaList control and adding a paging feature in a DataList. In this example, the database name is "student" and the database table name is "student_detail". I am giving a screenshot of all records to it easier to understand. i Now take a web application -> take a DataList and four Button controls like in the following figure. Write the following code. Code on .aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="PagininDataList.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .style1 { width: 672px; } </style> </head> <body> <form id="form1" runat="server"> <div> <table style="height: 79px; width: 429px"> <asp:DataList ID="DataList1" runat="server"> <HeaderTemplate> <h1> Details </h1> </HeaderTemplate> <ItemTemplate> <tr> <td><h4>Roll Number</h4> </td> <td><h4>NAME</h4></td> <td><h4>AGE</h4></td> <td><h4>CITY</h4></td> <td><h4>COURSE</h4></td> </tr> <tr> <td><h5><%#Eval("roll_no") %></h5></td> <td><h5><%#Eval("s_name") %></h5></td> <td><h5><%#Eval("age") %></h5></td> <td><h5><%#Eval("city") %></h5></td> <td><h5><%#Eval("course") %></h5></td> </tr> </ItemTemplate> </asp:DataList> </table> <table> <tr> <td> <asp:Button ID="btnfirst" runat="server" Font-Bold="true" Text="<<" Height="31px" Width="43px" onclick="btnfirst_Click" /></td> <td> <asp:Button ID="btnprevious" runat="server" Font-Bold="true" Text="<" Height="31px" Width="43px" onclick="btnprevious_Click" /></td> <td> <asp:Button ID="btnnext" runat="server" Font-Bold="true" Text=">" Height="31px" Width="43px" onclick="btnnext_Click" /></td> <td> <asp:Button ID="btnlast" runat="server" Font-Bold="true" Text=">>" Height="31px" Width="43px" onclick="btnlast_Click" /></td> </tr> </table> </div> </form> </body> </html> Code on .aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; namespace PagininDataList { public partial class WebForm1 : System.Web.UI.Page { SqlDataAdapter dadapter; DataSet dset; PagedDataSource adsource; string connstring = "database=student;server=.;user=sa;password=wintellect"; int pos; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ViewState["vs"] = 0; } pos = (int)this.ViewState["vs"]; databind(); } public void databind() { dadapter = new SqlDataAdapter("select * from student_detail", connstring); dset = new DataSet(); adsource = new PagedDataSource(); dadapter.Fill(dset); adsource.DataSource = dset.Tables[0].DefaultView; adsource.PageSize = 3; adsource.AllowPaging=true; adsource.CurrentPageIndex = pos; btnfirst.Enabled = !adsource.IsFirstPage; btnprevious.Enabled = !adsource.IsFirstPage; btnlast.Enabled = !adsource.IsLastPage; btnnext.Enabled = !adsource.IsLastPage; DataList1.DataSource = adsource; DataList1.DataBind(); } protected void btnfirst_Click(object sender, EventArgs e) { pos = 0; databind(); } protected void btnprevious_Click(object sender, EventArgs e) { pos = (int)this.ViewState["vs"]; pos -= 1; this.ViewState["vs"] = pos; databind(); } protected void btnnext_Click(object sender, EventArgs e) { pos = (int)this.ViewState["vs"]; pos += 1; this.ViewState["vs"] = pos; databind(); } protected void btnlast_Click(object sender, EventArgs e) { pos = adsource.PageCount-1; databind(); } } } Run the application. Output It will show 3 records at a time. You can go to the First, Previous, Next and Last record by clicking the appropriate button.
Here are some related resources
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: