In this article we
will know how to do Paging in repeater control.
Drag and drop a
repeater control, one label, and two buttons controls to the WebPages.
Table structure
Program
Default.aspx code
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" 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 id="Head1" runat="server">
<title>Untitled
Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="1">
<asp:Repeater ID="repeater1" 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:Repeater>
</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"></asp:Button>
<asp:Button ID="btnNext" runat="server" Text="Next" Width="60px"></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) HandlesMe.Load
If Not IsPostBack Then
bindrepeater()
End If
End Sub
Private Sub bindrepeater()
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
repeater1.DataSource = Pds1
repeater1.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) HandlesbtnPrevious.Click
CurrentPage -= 1
bindrepeater()
End Sub
Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) HandlesbtnNext.Click
CurrentPage += 1
bindrepeater()
End Sub
End Class
Output