0

我正在编写报告页面。在此页面中,有两个日期字段供用户过滤日期,GridView 根据 CodeBehind 中的这些日期填充(当用户单击按钮视图时)。现在我想为此 GridView 实现分页/排序功能。我进行了研究,发现 GridView 的默认分页效率不是很高(我的报告表可能有数千条记录)和自定义分页,但这需要使用 ObjectDataSource(我不使用)。因此,任何人都可以向我推荐一些最适合这种情况的方法吗?一些教程将不胜感激:)

谢谢,

4

1 回答 1

1

假设您将记录存储在数据库中,我将获取记录计数并将该数字用于分页。然后我会查询我想在每一页上看到的那些。

string.Format(@"
    SELECT TOP {0} * FROM Records WHERE pkId NOT IN (
        SELECT TOP {1} pkId FROM Records ORDER BY pkId
    ) ORDER BY pkId;",
    upperBoundary,
    lowerBoundary
);

例如,upperBoundary在哪里。lowerBoundary + itemsPerPage使用 MSSQL,我们没有 MySQL 的 LIMIT 特性的奢侈,但这也是一样的。

缩小日期范围,就像

SELECT * FROM Records WHERE Date > earlyDate AND Date <= lateDate

这是我认为最有效的方式,因为它导致的流量很少,如果你缓存记录数,你也不会有很多查询。

于 2010-11-16T22:21:02.277 回答