Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 网格视图分页_C#_Asp.net_Gridview - Fatal编程技术网

C# 网格视图分页

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"

我正在使用asp.net 4.0的网格视图。我想使用分页。 我正在用SQL查询处理分页。我只得到了要显示在网格中的记录数。我想将记录总数设置到我的网格中,这样我的网格就会根据我的记录总数显示页码(例如1 2 3…8)。我的表格应该告诉我当前浏览的页码是多少。 我无法根据总记录数设置页码。 请帮我做这个。
提前感谢。

这是我得到的最好的方法,使用存储过程并基于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>