Paging in Repeater in VB.NET

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 


Table-in-SQL-Server.gif
 

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 ObjectByVal 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 ObjectByVal e As System.EventArgs) HandlesbtnPrevious.Click
        CurrentPage -= 1
        bindrepeater()
    End Sub
   Protected Sub btnNext_Click(ByVal sender As ObjectByVal e As System.EventArgs) HandlesbtnNext.Click
        CurrentPage += 1
        bindrepeater()
    End 
Sub

End
 Class

Output

Paging-in-Repeater-in-Vb.Net.gif