user1135218
user1135218

Reputation: 403

asp.net gridview no records shown when paging

I have a gridview in asp.net, when I run the following code, I get 3 pages of records:

  Dim cadenaConexion As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
            Dim cn As MySqlConnection = New MySqlConnection(cadenaConexion)
            Dim da As MySqlDataAdapter = New MySqlDataAdapter(strSQL, cn)
            Dim ds As DataSet = New System.Data.DataSet()
            da.Fill(ds)
            GridView1.DataSource = ds
            GridView1.DataBind()

            cn.Close()
            cn.Dispose()

Everything runs well, however when I page (press on page 1, 2 o 3) the gridview data dissapears...this is the code which runs:

Protected Sub GridView1_PageIndexChanging(sender As Object, e As GridViewPageEventArgs)    
        GridView1.PageIndex = e.NewPageIndex
        GridView1.DataBind()
        GridView1.SelectedIndex = 0            
    End Sub

Obviously something is wrong but I can't see what. Any ideas ?

Upvotes: 1

Views: 192

Answers (1)

Satinder singh
Satinder singh

Reputation: 10198

Html Markup:

Add AllowPaging="True" and PageSize="anyNumber" to the gridview control


Code behind:

Protected Sub GridView1_PageIndexChanging(sender As Object, e As GridViewPageEventArgs)
    GridView1.PageIndex = e.NewPageIndex
    bindGridView()
End Sub


Public Sub bindGrid()

    Dim cadenaConexion As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
    Dim cn As MySqlConnection = New MySqlConnection(cadenaConexion)
    Dim da As MySqlDataAdapter = New MySqlDataAdapter(strSQL, cn)
    Dim ds As DataSet = New System.Data.DataSet()
    da.Fill(ds)
    GridView1.DataSource = ds
    GridView1.DataBind()

    cn.Close()
    cn.Dispose()

End Sub

Upvotes: 2

Related Questions