ListView的默认分页是先从数据源取得所有的数据,
然后截取当前页面所需要的数据

需要用到2005以后的一个函数 row_number 
返回的是结果集的行号,而不是表的行号
select Id, name, row_number() over(order by Id)
from T_Users

查询x行到y行
select * from 
(
select Id, name, row_number() over(order by Id) rownum
from T_Users
where Id>30
)t
where t.rownum > 11 and t.rownum <= 20
注:这里的row_number是从1开始的

select * from 
(
select …, Row_Number() over(order by …) rownum 
from T_Users 
)t
where 
t.rownum > @startRowIndex 
and 
t.rownum <= startRowIndex+@maximumRows
注:
这里的参数必须为startRowIndex和maximumRows
这是由ObjectDataSource的StartRowIndexParameterName、
MaximumRowsParameterName这两个属性决定的,一般不需改动。
它们的类型是Int32

配置ObjectDataSource
设置SelectMethod=”GetPagedData”
    SelectCountMethod=”QueryCount”

由于VS2008的问题
先按照正常顺序配置ObjectDataSource,
让ListView自动生成Template,
再修改ObjectDataSource的EnablePaging为true

版权声明:本文为liqipeng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liqipeng/archive/2012/07/18/4576202.html