In this blog we will know
how to do Paging in datalist using PagedDataSource class. Drag and drop a DataList
control, one label, and two buttons controls to the WebPages.
Table structure
![img1.gif]()
Program
Default.aspx code
<%@
Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default"
%>
<!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>Untitled
Page</title>
</head>
<body>
<form
id="form1"
runat="server">
<div>
<table
border="1">
<asp:DataList
ID="dl1"
runat="server">
<HeaderTemplate>
<font
color="red"><b>Employee
Details</b></font>
</HeaderTemplate>
<itemtemplate>
<tr>
<td><font
color="Green"><b>ID</b></font></td>
<td><font
color="Green"><b>NAME</b></font></td>
<td><font
color="Green"><b>SALARY</b></font></td>
<td><font
color="Green"><b>ADDRESS</b></font></td>
<td><font
color="Green"><b>DESIGNATION</b></font></td>
</tr>
<tr>
<td>
<font
color="#ff8000"><b><%#Eval("empid")%></b></font></td>
<td>
<font
color="Fuchsia"><b><%#Eval("empname")%></b></font></td>
<td>
<font
color="#663300"><b><%#Eval("empsal")%></b></font></td>
<td>
<font
color="Purple"><b><%#Eval("empadd")%></b></font></td>
<td>
<font
color="#808040"><b><%#Eval("empdes")%></b></font></td>
</tr>
</itemtemplate>
</asp:DataList>
</table>
<table
width="100%"
border="0">
<tr>
<td>
<asp:label
id="lbl1"
runat="server"
BackColor="Yellow"
BorderColor="Yellow"
Font-Bold="True"
ForeColor="#FF3300"></asp:label></td>
</tr>
<tr>
<td>
<asp:button
id="btnPrevious"
runat="server"
text="Previous"
Width="60px"
onclick="btnPrevious_Click"></asp:button>
<asp:button
id="btnNext"
runat="server"
text="Next"
Width="60px"
onclick="btnNext_Click"></asp:button></td>
</tr>
</table>
</div>
</form>
</body>
</html>
Default.aspx.vb code
Imports
System.Data
Imports
System.Data.SqlClient
Partial
Class _Default
Inherits System.Web.UI.Page
Dim strConnString As
String =
System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim con As
New SqlConnection(strConnString)
Dim str As
String
Dim com As
SqlCommand
Dim sqlda As
SqlDataAdapter
Dim ds As
DataSet
Protected Sub
Page_Load(ByVal sender
As Object, ByVal
e As System.EventArgs)
Handles Me.Load
If Not
IsPostBack Then
binddatalist()
End If
End Sub
Private Sub
binddatalist()
con.Open()
Str =
"select * from employee"
com =
New SqlCommand(Str, con)
sqlda =
New SqlDataAdapter(com)
ds =
New DataSet
sqlda.Fill(ds,
"employee")
Dim Pds1 As
New PagedDataSource()
Pds1.DataSource =
ds.Tables(0).DefaultView
Pds1.AllowPaging =
True
Pds1.PageSize = 3
Pds1.CurrentPageIndex = CurrentPage
lbl1.Text =
"Showing Page: " & (CurrentPage + 1).ToString()
& " of " & Pds1.PageCount.ToString()
btnPrevious.Enabled = Not Pds1.IsFirstPage
btnNext.Enabled =
Not Pds1.IsLastPage
dl1.DataSource =
Pds1
dl1.DataBind()
con.Close()
End Sub
Public Property
CurrentPage() As
Integer
Get
Dim s1 As
Object = Me.ViewState("CurrentPage")
If s1 Is
Nothing Then
Return 0
Else
Return CInt(s1)
End If
End Get
Set(ByVal value
As Integer)
Me.ViewState("CurrentPage")
= value
End Set
End Property
Protected Sub
btnPrevious_Click(ByVal sender
As Object,
ByVal e As
System.EventArgs) Handles
btnPrevious.Click
CurrentPage -= 1
binddatalist()
End Sub
Protected Sub
btnNext_Click(ByVal sender
As Object,
ByVal e As
System.EventArgs) Handles
btnNext.Click
CurrentPage += 1
binddatalist()
End Sub
End
Class
Output
![img2.gif]()
Thanks for reading