分页如何在ASP.NET中工作(使用VB.NET)?

时间:2010-09-24 18:14:13

标签: asp.net vb.net datatable

我知道如何创建和填充数据表,我已经完成了。现在,我只想在webform上显示数据表,但我也想知道如何对其进行分页和排序。最终我不想将它绑定到datagrid或gridview。我想学习如何以编程方式自己完成。

您能告诉我如何在不使用datagrid或gridview的情况下显示,分页和排序此数据表吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

理想的分页是在数据库级别完成的。为此,您创建一个可能需要两个参数的SP。一个是否定的。您希望在每个页面上显示的记录,而另一个参数则不会。您的用户所在的页面。

例如 - 如果您的用户位于第1页并且每页的记录数为20,则从您的数据库中检索记录,其中行ID为1到20.如果用户想要查看第3页,则检索第41行到第60行。你没有在SQL表中使用uniqueidentifier,那么你必须在ROW_NUMBER()函数的帮助下使用内部查询。以下是使用SQL Server ROW_NUMBER()函数进行分页的链接。

http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx

除此逻辑外,您还可以组合排序。这可能是您的SP的第三个参数。您可以先以任何方式对数据进行排序,然后选择合适的页面。

答案 1 :(得分:0)

首先,您必须将数据存储到会话对象/ viewstate / cache

然后根据您的要求生成table / div并使用循环for no。您想要在屏幕上显示的记录*当前页面没有+1。(当前页面,您不必存储在视图或隐藏字段中)

对于排序使用标题上的链接(使用带有链接的表头)然后进行排序使用Linq。 (在排序数据之后,您必须替换会话对象/ viewstate / cache对象) 您可以使用列名称

生成标题