C# 网格视图分页
我正在使用asp.net 4.0的网格视图。我想使用分页。 我正在用SQL查询处理分页。我只得到了要显示在网格中的记录数。我想将记录总数设置到我的网格中,这样我的网格就会根据我的记录总数显示页码(例如1 2 3…8)。我的表格应该告诉我当前浏览的页码是多少。 我无法根据总记录数设置页码。 请帮我做这个。C# 网格视图分页,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在使用asp.net 4.0的网格视图。我想使用分页。 我正在用SQL查询处理分页。我只得到了要显示在网格中的记录数。我想将记录总数设置到我的网格中,这样我的网格就会根据我的记录总数显示页码(例如1 2 3…8)。我的表格应该告诉我当前浏览的页码是多少。 我无法根据总记录数设置页码。 请帮我做这个。 提前感谢。这是我得到的最好的方法,使用存储过程并基于PageIndex和PageSize返回数据 <asp:GridView ID="GridView1" runat="server"
提前感谢。这是我得到的最好的方法,使用存储过程并基于PageIndex和PageSize返回数据
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
//your data
</Columns>
</asp:GridView>
返回整个结果集以获取分页可能不是您想要的方式。您应该扩展GridView控件并引入虚拟项计数属性。然后,您应该将网格中所有记录的计数传递给虚拟项计数。此外,您还应确保OnPageIndexChange事件将当前页面索引设置为下一页。嘿,我认为使用扩展的GridView方法会更干净,因为分页将由控件本身处理,您的方法同样有效。如果性能真的很重要,那么使用jquery客户端重复和添加分页(相同的概念)也是另一种最好的方法。是的,defo,只需确保未返回完整的结果集,每次只需处理pagesize记录集:)
<asp:Repeater ID="rptPager" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkPage" runat="server" Text = '<%#Eval("Text") %>' CommandArgument = '<%# Eval("Value") %>' Enabled = '<%# Eval("Enabled") %>' OnClick = "Page_Changed"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>