ListView高效率分页--笔记

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

posted @ 2012-07-18 20:03  liqipeng  阅读(118)  评论(0编辑  收藏  举报