没有合适的资源?快使用搜索试试~ 我知道了~
ListView选择自动分页时 其实就是添加了一个DataPager分页控件两者间存在着嵌套关系《Repeater与ListView》中提到这样的分页并不是高效的 因为数据源还是返回了所有的数据 而非当前页数据 优化方案及步骤: 1.改数据源EnablePaging属性为true 【允许分页】 设置MaximumRowsParameterName=”rowIndex”【MSDN解释:该参数接受检索的行数的值 可以理解为:上一页的最后一行的下标】 设置StartRowIndexParameterName=”pageSize”【MSDN解释:该参数接受要检索的第一行索引的值 可以理解为
资源推荐
资源详情
资源评论
如何实现如何实现ListView高效分页代码高效分页代码
ListView选择自动分页时 其实就是添加了一个DataPager分页控件两者间存在着嵌套关系《Repeater与ListView》中提到这样
的分页并不是高效的 因为数据源还是返回了所有的数据 而非当前页数据
优化方案及步骤:
1.改数据源EnablePaging属性为true 【允许分页】
设置MaximumRowsParameterName=”rowIndex”【MSDN解释:该参数接受检索的行数的值 可以理解为:上一页的最后一行
的下标】
设置StartRowIndexParameterName=”pageSize”【MSDN解释:该参数接受要检索的第一行索引的值 可以理解为pageSize
即每页显示条数】
SelectCountMethod=”GetTotalRowsCount” 【需要总行数数时执行的方法即一共有多少条数据告诉分页控件如何显示】
2、此时数据源调用的原有方法getAllClasses不再满足要求需要在业务层中新增一个带MaximumRowsParameterName及
StartRowIndexParameterName参数名称的方法 以及GetTotalRowsCount两个方法
BLL层添加如下:
代码如下:
View Code
public List <MODEL.Classes > getPageListByPage( int pageSize, int rowIndex) { return
dal.getPageListByPage(pageSize, rowIndex, false);
}
public int GetTotalRowsCount() {
return dal.GetTotalRowsCount();
}
DAL层添加如下:
代码如下:
View Code
public List <MODEL. Classes> getPageListByPage( int rowIndex, int pageSize, bool isDel) { int rowCount = 0;
int pageCount = 0;
DataTable dt = SqlHelper .getPageListByPage(rowIndex, pageSize, out rowCount, out pageCount, isDel);
if (dt.Rows.Count > 0) {
List <MODEL.Classes > list = new List <MODEL.Classes >();
foreach (DataRow dr in dt.Rows) {
MODEL. Classes model = new MODEL. Classes();
LoadEntityData(model, dr);
list.Add(model);
}
return list;
}
return null ;
}
public int GetTotalRowsCount() {
string sqlstr = “select * from classes where cisdel = 0” ;
return SqlHelper .ExecuteScalar(sqlstr);
}
SqlHelper新增方法如下:
代码如下:
View Code
public static DataTable getPageListByPage( int rowIndex, int pageSize, out int rowCount, out int pageCount, bool isDel)
{ DataTable dtcalss = new DataTable();
rowCount = 0;
pageCount = 0;
using (SqlConnection sqlcon = new SqlConnection (Connstr)) {
SqlDataAdapter sda = new SqlDataAdapter( “up_GetPageData2” , sqlcon);
SqlParameter [] pars = {
new SqlParameter ( “@LastRowIndex”,rowIndex),
new SqlParameter ( “@pgSize”,pageSize),
new SqlParameter ( “@rowCount”,rowCount),
new SqlParameter ( “@pgCount”,pageCount),
new SqlParameter ( “@isDel”,isDel),
};
//将两个输出参数的输出方向指定
pars[2].Direction = ParameterDirection .Output;
pars[3].Direction = ParameterDirection .Output;
//将参数集合 加入到 查询命令对象中
sda.SelectCommand.Parameters.AddRange(pars);
//设置 查询命令类型 为存储过程
sda.SelectCommand.CommandType = CommandType .StoredProcedure;
//执行存储过程
sda.Fill(dtcalss);
//执行完后 将存储过程 获得的 两个输出参数值 赋给此方法的两个输出参数
rowCount = Convert .ToInt32(pars[2].Value);
pageCount = Convert .ToInt32(pars[3].Value);
}
return dtcalss;
}
存储过程up_GetPageData2代码如下:
代码如下:
View Code
剩余6页未读,继续阅读
资源评论
weixin_38744694
- 粉丝: 17
- 资源: 948
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BT_esp32_370_DRV8833_BALANCE_verticalPID_turnPID.ino
- buildroot package使用示例
- C#ASP.NET快速开发平台源码带视频教程和操作手册数据库 SQL2008源码类型 WebForm
- 23网安六徐少方 20237209.cpp
- 多多买菜自动入库,拼多多自动入库使用
- a616354ce1a6e7d06267ae7821e38321.JPG
- 4e77c15f65be2f550de3265f33a4d427.JPG
- d25358831b9f038c041861d5add73551.JPG
- 大学专业课技术经济期末复习整理资料
- ToadForOracle-16.1-UserGuide.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功