【发布时间】:2014-01-02 11:33:26
【问题描述】:
我试图一次显示 50 个。它应该在“页面索引”更改时激活。原始的 Gridview 可以工作并且有 1000 多个条目。 GridView1_PageIndexChanging 或 GridView1.PageIndex = e.NewPageIndex 不起作用。 这是我的代码:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="50" OnPageIndexChanging="GridView1_PageIndexChanging">
</asp:GridView>
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
Dim connStr, cmdStr As String
Dim myDataSet As New DataSet
Dim dt As New DataTable()
connStr = "connection string works"
cmdStr = "SELECT * FROM table1;"
Try
Using conn As New SqlConnection(connStr)
Using cmd As New SqlCommand(cmdStr, conn)
conn.Open()
cmd.ExecuteNonQuery()
Using myDataAdapter As New SqlDataAdapter(cmd)
myDataAdapter.Fill(myDataSet)
dt = myDataSet.Tables(0)
Dim filteredSet = dt.AsEnumerable().Skip((GridView1.PageIndex - 1) * 50)
GridView1.DataSource = filteredSet
GridView1.DataBind()
End Using
conn.Close()
cmd.Dispose()
conn.Dispose()
End Using
End Using
Catch ex As Exception
End Try
End Sub
【问题讨论】:
-
我认为你应该使用
CustomersGridView_PageIndexChanged事件而不是CustomersGridView_PageIndexChanging -
从 Gridview1_PageIndexChanging 更改为 Gridview1_PageIndexChanged 只是导致应用程序错误。