SIGN UP MEMBER LOGIN:    
Blog

Paging in datalist using PagedDataSource class in VB.NET

Posted by Satyapriya Nayak Blogs | ASP.NET using VB.NET Sep 08, 2011
In this blog we will know how to do Paging in datalist using PagedDataSource class.

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

share this blog :
post comment