The PagedDataSource class with Repeater control to perform paging in ASP.Net. We need to add below mentioned code to the ASPX page:
Code:
------
Imports system.data.sqlclient
Open database connection
Dim intpage As Integer
Dim last As String
Query = "select query"
Dim myDA As New SqlClient.SqlDataAdapter (query, SQL Connection string)
Dim ds as New DataSet ()
myDA.Fill (ds, "t1")
Dim pageds As New PagedDataSource
pageds.DataSource = ds.Tables (0).DefaultView
pageds.AllowPaging = True
pageds.PageSize = 10
If Not IsNothing (Request.QueryString ("page")) Then
Intpage = Convert.ToInt32 (Request.QueryString ("page")) - 1
If intpage < 0 Then
Intpage = 0
End If
If (intpage > pageds.PageCount) Then
Intpage = pageds.PageCount - 1
End If
pageds.CurrentPageIndex = intpage
End If
Literal3.Text += ("<b>")
Literal3.Text += ("RESULT PAGES: ")
Literal3.Text += ("</b>")
If Not pageds.CurrentPageIndex = 0 Then
Literal3.Text +="<a href = Page URL & "&page=1"
Literal3.Text += ">"
Literal3.Text += "First"
Literal3.Text += "</a>"
Literal3.Text += "<a href = Page URL"
Literal3.Text += ">"
Literal3.Text += "Previous"
Literal3.Text += "</a>"
End If
Literal2.Text = CreatePagerLinks (pageds, "Page URL")
If Not pageds.IsLastPage then
Literal2.Text +="<a href=page URL"&"&page="& pageds.CurrentPageIndex + 2
Literal2.Text += ">"
Literal2.Text += "Next"
Literal2.Text += "</a>"
last = pageds.PageCount
Literal2.Text += "<a href=Page URL" & "&page=" & last & ""
Literal2.Text += ">"
Literal2.Text += "Last"
Literal2.Text += "</a>"
End If
If pageds.PageCount = 1 Then
Literal2.Visible = False
End If
Repeater1.DataSource = pageds
Repeater1.DataBind ()
Close connection
End Sub
================================================== ==
Function CreatePagerLinks (ByVal pageds As PagedDataSource, ByVal BaseUrl as String) As String
Dim sbpager As New System.Text.StringBuilder
If Not (pageds.IsFirstPage) then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("</a>")
If Not (pageds.CurrentPageIndex = 1) Then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (pageds.CurrentPageIndex.ToString ())
sbpager.Append ("</a>")
End If
End If
Dim intLow = pageds.CurrentPageIndex - 1
Dim intHigh = pageds.CurrentPageIndex
If (intLow < 1) Then
IntLow = 1
End If
If intHigh > 1 Then
IntHigh = 1
End If
If (intHigh > pageds.PageCount) Then
IntHigh = pageds.PageCount
End If
If (intHigh - intLow < 10) Then
While ((intHigh < intLow + 9) and intHigh < pageds.PageCount)
IntHigh = intHigh + 1
End While
End If
If (intHigh - intLow < 10) Then
While ((intLow > intHigh - 9) and intLow > 1)
IntLow = intLow - 1
End While
End If
Dim x as Integer
For x = intLow to intHigh
If (x = pageds.CurrentPageIndex + 1) Then
sbpager.Append (x.ToString () + " ")
Else
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (x.ToString ())
sbpager.Append (">")
sbpager.Append (x.ToString ())
sbpager.Append ("</a>")
End If
Next
If Not (pageds.IsLastPage) then
If Not ((pageds.CurrentPageIndex+1) =pageds.PageCount) Then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (Convert.ToString (pageds.CurrentPageIndex + 1))
sbpager.Append ("></a>")
End If
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (pageds.PageCount.ToString ())
sbpager.Append ("></a>")
End If
Return sbpager.ToString ()
End Function
------
Code:
------
Imports system.data.sqlclient
Open database connection
Dim intpage As Integer
Dim last As String
Query = "select query"
Dim myDA As New SqlClient.SqlDataAdapter (query, SQL Connection string)
Dim ds as New DataSet ()
myDA.Fill (ds, "t1")
Dim pageds As New PagedDataSource
pageds.DataSource = ds.Tables (0).DefaultView
pageds.AllowPaging = True
pageds.PageSize = 10
If Not IsNothing (Request.QueryString ("page")) Then
Intpage = Convert.ToInt32 (Request.QueryString ("page")) - 1
If intpage < 0 Then
Intpage = 0
End If
If (intpage > pageds.PageCount) Then
Intpage = pageds.PageCount - 1
End If
pageds.CurrentPageIndex = intpage
End If
Literal3.Text += ("<b>")
Literal3.Text += ("RESULT PAGES: ")
Literal3.Text += ("</b>")
If Not pageds.CurrentPageIndex = 0 Then
Literal3.Text +="<a href = Page URL & "&page=1"
Literal3.Text += ">"
Literal3.Text += "First"
Literal3.Text += "</a>"
Literal3.Text += "<a href = Page URL"
Literal3.Text += ">"
Literal3.Text += "Previous"
Literal3.Text += "</a>"
End If
Literal2.Text = CreatePagerLinks (pageds, "Page URL")
If Not pageds.IsLastPage then
Literal2.Text +="<a href=page URL"&"&page="& pageds.CurrentPageIndex + 2
Literal2.Text += ">"
Literal2.Text += "Next"
Literal2.Text += "</a>"
last = pageds.PageCount
Literal2.Text += "<a href=Page URL" & "&page=" & last & ""
Literal2.Text += ">"
Literal2.Text += "Last"
Literal2.Text += "</a>"
End If
If pageds.PageCount = 1 Then
Literal2.Visible = False
End If
Repeater1.DataSource = pageds
Repeater1.DataBind ()
Close connection
End Sub
================================================== ==
Function CreatePagerLinks (ByVal pageds As PagedDataSource, ByVal BaseUrl as String) As String
Dim sbpager As New System.Text.StringBuilder
If Not (pageds.IsFirstPage) then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("</a>")
If Not (pageds.CurrentPageIndex = 1) Then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (pageds.CurrentPageIndex.ToString ())
sbpager.Append ("</a>")
End If
End If
Dim intLow = pageds.CurrentPageIndex - 1
Dim intHigh = pageds.CurrentPageIndex
If (intLow < 1) Then
IntLow = 1
End If
If intHigh > 1 Then
IntHigh = 1
End If
If (intHigh > pageds.PageCount) Then
IntHigh = pageds.PageCount
End If
If (intHigh - intLow < 10) Then
While ((intHigh < intLow + 9) and intHigh < pageds.PageCount)
IntHigh = intHigh + 1
End While
End If
If (intHigh - intLow < 10) Then
While ((intLow > intHigh - 9) and intLow > 1)
IntLow = intLow - 1
End While
End If
Dim x as Integer
For x = intLow to intHigh
If (x = pageds.CurrentPageIndex + 1) Then
sbpager.Append (x.ToString () + " ")
Else
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (x.ToString ())
sbpager.Append (">")
sbpager.Append (x.ToString ())
sbpager.Append ("</a>")
End If
Next
If Not (pageds.IsLastPage) then
If Not ((pageds.CurrentPageIndex+1) =pageds.PageCount) Then
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (Convert.ToString (pageds.CurrentPageIndex + 1))
sbpager.Append ("></a>")
End If
sbpager.Append ("<a href=")
sbpager.Append (BaseUrl)
sbpager.Append ("&page=")
sbpager.Append (pageds.PageCount.ToString ())
sbpager.Append ("></a>")
End If
Return sbpager.ToString ()
End Function
------