【问题标题】:Efficient GridView Paging... not quite getting it高效的 GridView 分页...不太明白
【发布时间】:2010-02-28 22:22:20
【问题描述】:

我试图在 ASP.NET Gridview 中使用自定义分页,但我阅读的所有示例似乎都包含我不需要的东西(例如Scott Gu)。

有人可以为我指出正确的方向吗?易于理解基础知识的教程?

示例:如果我有以下存储过程...

Alter Procedure dbo.GetReqeusts

@Category nvarchar(50)

As
Begin
  Select dbo.[Name], 
         dbo.[ID] 
  From   dbo.[Table] 
  Where  dbo.[Category] = @Category
End

这个例子返回了 200 行,我如何将这个存储过程转换成一个高效的分页过程?

【问题讨论】:

    标签: asp.net sql gridview


    【解决方案1】:

    4guysfromrolla.com 有一系列关于working with and displaying data 的文章。关于custom paging有几个。

    存储过程的关键点是使用ROW_NUMBER()函数来限制要返回的记录:

    SELECT RowNum, [Name], [ID]
    FROM
       (SELECT [Name], [ID]
             ROW_NUMBER() OVER(ORDER BY [ID]) as RowNum
        FROM [Table] t
        WHERE [Category] = @Category
       ) as DerivedTableName
    WHERE RowNum BETWEEN @startRowIndex AND (@startRowIndex + @maximumRows) - 1
    

    【讨论】:

    • 是的,我多次查看该示例,但对我来说毫无意义……抱歉。我希望找到一个 A/B(正常)/(高效),以便我可以看到差异。
    • (dot dot dot)和(From Employees e)​​有点让我困惑
    • 我使用的示例取自答案中链接的文章。我试图使其适应您的示例代码。希望这会有所帮助。
    • 好的,所以我得到了这个工作,但是我确实有一个小问题......我希望一切都按 DESC 顺序填充到网格中。 IE:我想从最后一行开始向上移动……我该怎么做?
    猜你喜欢
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    相关资源
    最近更新 更多