ASP.NET 学习笔记_11 行命令处理 和 分页

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 分页

ASP.NET 学习笔记_11 行命令处理 和 分页

PageControlID:给哪个ListView分页

ASP.NET 学习笔记_11 行命令处理 和 分页
高级分页:

ASP.NET 学习笔记_11 行命令处理 和 分页
查询子查询
select* from
(Select id,name,age,row_number() over(order by id)rownum from T_Users)t
where t.rownum>11and t.rownum<20

ASP.NET 学习笔记_11 行命令处理 和 分页


3、高效分页:

ASP.NET 学习笔记_11 行命令处理 和 分页
(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自动生成
再去配置分页数据源

你可能感兴趣的:(asp.net)