【发布时间】:2012-11-07 12:49:52
【问题描述】:
我正在使用 asp.net 4.0 的网格视图。我想使用分页。 我正在使用 SQL 查询处理分页。我只得到记录的数量,我想在我的网格中显示。我想将记录总数设置为我的网格,以便我的网格根据我的记录总数显示页码(例如 1 2 3 ....8)。我的网格应该告诉我当前查看的页码是多少。 我无法根据我的总记录数设置页码。 请帮助我。 提前致谢。
【问题讨论】:
我正在使用 asp.net 4.0 的网格视图。我想使用分页。 我正在使用 SQL 查询处理分页。我只得到记录的数量,我想在我的网格中显示。我想将记录总数设置为我的网格,以便我的网格根据我的记录总数显示页码(例如 1 2 3 ....8)。我的网格应该告诉我当前查看的页码是多少。 我无法根据我的总记录数设置页码。 请帮助我。 提前致谢。
【问题讨论】:
带回整个结果集以获取分页可能不是您想要的方式。您应该真正扩展 GridView 控件并引入虚拟项目计数属性。然后,您应该将虚拟项目计数传递给网格中所有记录的计数。此外,您还应确保 OnPageIndexChanging 事件应将当前页面索引设置为下一页。
【讨论】:
为此我得到了更好的方法,使用存储过程并根据 PageIndex 和 PageSize 返回数据。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
//your data
</Columns>
</asp:GridView>
这显示了分页
<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>
这里有你想要的:Custom Paging in ASP.Net GridView using SQL Server Stored Procedure
【讨论】: