注意事项: 1、使用Cached方式时,因数据进行了缓存,如果对数据进行了修改、重新排序,需先ClearCache()清除缓存,再进行数据绑定,否则要等缓存过期才能看到效果。 2、SqlPager中使用NonCached方式时,如果要对有重复数据的标题列进行排序,可能分页结果会不准确。在oracle中因排序时重新生成了rownum列,不会有这种问题。如果有唯一值的列,可在sortField中增加此列。对此问题还没想到更好的办法,如果哪位有好方法可以一起探讨。 上述问题2的原因:排序的分页是通过对排序字段分别按asc、desc排序后再取top n实现的,但对重复值asc及desc对排序结果无影响,以northwind为例:select orderid,employeeid from orders where employeeid=1 order by employeeid ASC和select orderid,employeeid from orders where employeeid=1 order by employeeid DESC结果是一样的,对于复杂查询,列不确定,结果集中可能无主键,无法使用表变量及临时表,暂未想到更好的办法处理,欢迎大家讨论