【问题标题】:asp.net gridview no records shown when pagingasp.net gridview分页时不显示记录
【发布时间】:2015-07-24 09:32:40
【问题描述】:

我在asp.net中有一个gridview,当我运行以下代码时,我得到3页记录:

  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()

一切运行良好,但是当我翻页(按第 1、2 o 3 页)时,gridview 数据消失了……这是运行的代码:

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

显然出了点问题,但我看不出是什么。有什么想法吗?

【问题讨论】:

  • 你需要在GridView1_PageIndexChanging事件中重新绑定完整的数据,调用上面的网格绑定代码实际写的方法
  • 感谢您的帮助,我认为下面的示例与您的意思相同。

标签: asp.net gridview


【解决方案1】:

HTML 标记:

AllowPaging="True"PageSize="anyNumber" 添加到gridview 控件


背后的代码:

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

【讨论】:

  • 更正分页事件中的方法名
猜你喜欢
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
相关资源
最近更新 更多