我正在编写报告页面。在此页面中,有两个日期字段供用户过滤日期,GridView 根据 CodeBehind 中的这些日期填充(当用户单击按钮视图时)。现在我想为此 GridView 实现分页/排序功能。我进行了研究,发现 GridView 的默认分页效率不是很高(我的报告表可能有数千条记录)和自定义分页,但这需要使用 ObjectDataSource(我不使用)。因此,任何人都可以向我推荐一些最适合这种情况的方法吗?一些教程将不胜感激:)
谢谢,
我正在编写报告页面。在此页面中,有两个日期字段供用户过滤日期,GridView 根据 CodeBehind 中的这些日期填充(当用户单击按钮视图时)。现在我想为此 GridView 实现分页/排序功能。我进行了研究,发现 GridView 的默认分页效率不是很高(我的报告表可能有数千条记录)和自定义分页,但这需要使用 ObjectDataSource(我不使用)。因此,任何人都可以向我推荐一些最适合这种情况的方法吗?一些教程将不胜感激:)
谢谢,
假设您将记录存储在数据库中,我将获取记录计数并将该数字用于分页。然后我会查询我想在每一页上看到的那些。
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
这是我认为最有效的方式,因为它导致的流量很少,如果你缓存记录数,你也不会有很多查询。