Solved

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

Posted on 2009-07-10
3
679 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
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
jinal earned 500 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 500 total points
ID: 24821992
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

758 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now