i need to do paging in gridview inside datalist ..?

i dunno how to pass the label text of datalist  to bind function in the pageindexchanging of grid view ..plz suggest.....and also having no idea of paging for this datalist which have page size of five?

Protected Sub pageindexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs)
        Dim grid As GridView = DirectCast(sender, GridView)
        grid.PageIndex = e.NewPageIndex
        Dim name As String = ??'how can i pass the label of text property of Datalist which has this gridview.in order to bind for the next page...??
        BindGrid(grid, name)
    End Sub
Private Sub BindGrid(ByVal GridView As GridView, ByVal name As String)
        Dim con As SqlConnection
       con = New SqlConnection(ConfigurationSettings.AppSettings("cons"))
        Dim Sql1 As String = "select * from tbl1 where name ='"& name &"'
        Dim da As New SqlDataAdapter(Sql1, con)
        Dim ds As New DataSet()
        da.Fill(ds)
       GridView.DataSource = ds
        GridView.DataBind()
End If
 End Sub
 
Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs)
        Dim GridView1 As GridView = DirectCast(e.Item.FindControl("GridView1"), GridView)
        Dim name As Label = TryCast(e.Item.FindControl("name"), Label)
        BindGrid(GridView1, name.Text)
    End Sub
 
 
<asp:DataList ID="DataList1"  runat="server"  OnItemDataBound="DataList1_ItemDataBound" Width="350px">
<ItemTemplate>          
<asp:Label ID="name" runat="server" Visible="false" Text='<%# Bind("name") %>'></asp:Label>
<asp:GridView ID="GridView1" AllowPaging="true" OnPageIndexChanging="pageindexChanging" PageSize="5"  runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="name" HeaderText="Name" ></asp:BoundField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:DataList>

Open in new window

LVL 18
Rajar AhmedConsultantAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
jinalConnect With a Mentor Commented:
Hello,
This sample help you.

/* ASPX CODE */ 
<asp:DataList ID="DataList1"  runat="server"  OnItemDataBound="DataList1_ItemDataBound" Width="350px">
<ItemTemplate>          
<asp:Label ID="name" runat="server" Visible="false" Text='<%# Bind("name") %>'></asp:Label>
<asp:Label ID="ID" runat="server" Visible="false" Text='<%# Bind("ID") %>'></asp:Label>
<asp:GridView ID="GridView1" AllowPaging="true" OnPageIndexChanging="pageindexChanging" PageSize="5"  runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="productname" HeaderText="Name" ></asp:BoundField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:DataList>
 
/* Code Behind File */
 
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Data
Partial Class _Default
    Inherits System.Web.UI.Page
    Private Sub BindGrid(ByVal GridView As GridView, ByVal name As String)
        Dim con As SqlConnection
        con = New SqlConnection("Data Source=ANKIT\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True")
        Dim Sql1 As String = "select * from products where CategoryID =" & name & ""
        Dim da As New SqlDataAdapter(Sql1, con)
        Dim ds As New DataSet()
        da.Fill(ds)
 
        GridView.DataSource = ds.Tables(0)
        GridView.DataBind()
        
 
    End Sub
    Private Sub BindGridWithPageIndex(ByVal GridView As GridView, ByVal name As String, ByVal pageIndex As Integer)
        Dim con As SqlConnection
        con = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True")
        Dim Sql1 As String = "select * from products where CategoryID =" & name & ""
        Dim da As New SqlDataAdapter(Sql1, con)
        Dim ds As New DataSet()
        da.Fill(ds)
        GridView.PageIndex = pageIndex
        GridView.DataSource = ds.Tables(0)
        GridView.DataBind()
 
 
    End Sub
 
    Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs)
        Dim GridView1 As GridView = DirectCast(e.Item.FindControl("GridView1"), GridView)
        Dim name As Label = TryCast(e.Item.FindControl("ID"), Label)
        BindGrid(GridView1, name.Text)
    End Sub
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            Dim dt As New DataTable()
            dt.Columns.Add("Name")
            dt.Columns.Add("Id")
            Dim dr As DataRow
            dr = dt.NewRow()
            dr(0) = "Beverages"
            dr(1) = "1"
            dt.Rows.Add(dr)
 
            dr = dt.NewRow()
            dr(0) = "Condiments"
            dr(1) = "2"
            dt.Rows.Add(dr)
 
            DataList1.DataSource = dt
            DataList1.DataBind()
 
        End If
    End Sub
 
    Protected Sub pageindexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs)
        Dim gv As GridView = CType(sender, GridView)
        If Not gv Is Nothing Then
            Dim lb As Label = CType(gv.Parent.FindControl("ID"), Label)
            BindGridWithPageIndex(CType(sender, GridView), lb.Text, e.NewPageIndex)
        End If
    End Sub
End Class

Open in new window

0
 
Rajar AhmedConsultantAuthor Commented:
hi this line did the trick..
can u suggest how to do the paging for this datalist  ,,,?

        Dim lb As Label = CType(grid.Parent.FindControl("name"), Label)

Open in new window

0
All Courses

From novice to tech pro — start learning today.