Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2009-07-10
3
Medium Priority
?
709 Views
Last Modified: 2013-11-07
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

0
Comment
Question by:Rajar Ahmed
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
jinal earned 2000 total points
ID: 24821307
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
 
LVL 18

Author Comment

by:Rajar Ahmed
ID: 24821440
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
 
LVL 15

Assisted Solution

by:jinal
jinal earned 2000 total points
ID: 24821992
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question