ASP.NET笔记之 行命令处理与分页详解
1、行命令处理
(1、 后台代码:操作行
//如果是来自html响应中的该函数操作
if(e.commandname=="addage"){
//取得行号
int index=((listviewdataitem)e.item)dispalyindex;
//取得当前操作行的主键值
//datakeys存的是所有id,取的是第index个id
guid id=(guid)listview1.datakeys[index].value;
表adapter adapter=new 表adapter();
adpter.自定义数据库函数addage;
//数据绑定
listview.databing();
}
(2、排序
commandname="sort"
commandargument="id"
内部排序,效率较低
2、datapager 分页
pagecontrolid:给哪个listview分页
高级分页:
查询子查询
select* from
(select id,name,age,row_number() over(order by id)rownum from t_users)t
where t.rownum>11and t.rownum<20
3、高效分页:
(1、数据库方法:
//获取本页的行数
开始的行数:startrowindex
开始加本页的行数:startrowindex+maximumrows
//数据库方法:getcount
select count(*)from t_users
//数据库方法名:querycount
select* from
(
select id ,name,gender,row_number() over(order by id)rownum from dbo.t_user
)t
where t.rownum>@startrowindex and t.rowrow<=@startrowindex+@maximumrows
由于startrowindex+maximumrows两个参数不会帮我们生成,需要我们自己手动添加。
(2、页面
**不要<selectparameters>
**增加一个selectcountmethod="querycount"设置取得行数的方法
而selectmethod="getpagedata"是取得分页信息
而enablepaging="true"
**先按正常流程配置listview的objectdatasource,让listview自动生成
再去配置分页数据源