ListView +ObjectDataSource+DataPager
2015-09-28 13:55
435 查看
1
一、配置objectDataSource
---选择业务逻辑层的类
二、配置Select对应的方法,【必须是一个带两个整型参数的方法】,第一个参数表示要查看的第一条记录的前一条。比如我要查看的是第31-40条数据,那么第一个参数就是30。第二个参数每页最多能显示的记录条数pagesize。
这两个参数都是由分页控件DataPager来传递的。无需我们考虑。(再次强调:这两个参数都是DataPager分页控件自动给我们传递的,无需我们考虑。我们仅仅需要设置一下DataPager控件的PageSize属性就可以了,这个属性是定义每页显示多少条数据的。即:页大小)
between 30+1 and 30+1+pagesize
31-35
对于select对应的查询方法中的两个参数,在配置数据源的时候不需要指定。并且删除生成的参数代码。
三、配置ObjectDataSource启用分页:即将EnablePaging属性设置为true (EnablePaging=true)
四、设置objectDataSource的两个属性:
StartRowIndexParameterName="StartRow" 这个属性的的值必须与查询方法中的第一个参数的名字一样。(例如:既然ListView控件要分页显示,那么我们就会调用Bll层中的分页方法,这个参数的值就是分页方法的第一个参数,这个参数表示要查看的第一条记录的前一条)
MaximumRowsPrameterName="PageSize" 这里指定的参数就是select查询方法中的第二个参数(即:页大小,即:每页显示多少条数据)(必须与业务逻辑层中的查询方法的第二个参数名称一致)这个属性的的值必须与查询方法中的第一个参数的名字一样
如下:(注意:这个分页方法,第一个参数一定是要查询第几行的前一行,第二个参数是页大小)
在给DataSource配置数据源的时候
![](http://img.blog.csdn.net/20150929093656290)
![](http://img.blog.csdn.net/20150929093504048)
五、设置ObjectDataSource的SelectCountMethod="GetCount";设置该属性为业务逻辑层的一个方法,这个方法的作用就是查询出当前表中一共有多少条记录:select count(*) from aspx_students
六、
-----添加一个ListView控件,设置数据源为ObjectDataSource
-----配置ListView,启用“编辑”、“删除”、“插入”,不要启用“分页”
七、
---添加一个DataPager控件。设置该控件的PagedControlID为对应的ListView
---设置该控件的PageSize属性,每页显示多少条。
---为该控件选择一个分页导航的样式。
八,使用DataPager控件为ListView控件分页的时候一定要注释掉(禁用掉)ObjectDataSource源中的以下代码
九:如果删除按钮无效果:那么可能需要设置ListView控件的DataKeyNames属性。这个属性的值就是 ListView控件绑定数据的Model 的主键
例如:
一、配置objectDataSource
---选择业务逻辑层的类
二、配置Select对应的方法,【必须是一个带两个整型参数的方法】,第一个参数表示要查看的第一条记录的前一条。比如我要查看的是第31-40条数据,那么第一个参数就是30。第二个参数每页最多能显示的记录条数pagesize。
这两个参数都是由分页控件DataPager来传递的。无需我们考虑。(再次强调:这两个参数都是DataPager分页控件自动给我们传递的,无需我们考虑。我们仅仅需要设置一下DataPager控件的PageSize属性就可以了,这个属性是定义每页显示多少条数据的。即:页大小)
between 30+1 and 30+1+pagesize
31-35
对于select对应的查询方法中的两个参数,在配置数据源的时候不需要指定。并且删除生成的参数代码。
三、配置ObjectDataSource启用分页:即将EnablePaging属性设置为true (EnablePaging=true)
四、设置objectDataSource的两个属性:
StartRowIndexParameterName="StartRow" 这个属性的的值必须与查询方法中的第一个参数的名字一样。(例如:既然ListView控件要分页显示,那么我们就会调用Bll层中的分页方法,这个参数的值就是分页方法的第一个参数,这个参数表示要查看的第一条记录的前一条)
MaximumRowsPrameterName="PageSize" 这里指定的参数就是select查询方法中的第二个参数(即:页大小,即:每页显示多少条数据)(必须与业务逻辑层中的查询方法的第二个参数名称一致)这个属性的的值必须与查询方法中的第一个参数的名字一样
如下:(注意:这个分页方法,第一个参数一定是要查询第几行的前一行,第二个参数是页大小)
/// <summary> /// 分页查询 /// </summary> /// <param name="StartRow">开始行的前一行</param> /// <param name="PageSize">页大小</param> /// <returns></returns> /// 开是行的前一行的意思就是:假如我要查询31-40条数据,那么前一行就是30 public List<UserInfo> PagingPage(int StartRow, int PageSize) { GetUserInfoCount(); List<UserInfo> list = new List<UserInfo>(); string sql = "select top " + PageSize + " * from (select ROW_NUMBER() OVER(ORDER BY id) as rowNumber,* from t_userinfo) as A where rowNumber>" + StartRow; DataTable dt = SqlHelper.ExecuteDataTable(sql, null); UserInfo u = null; for (int i = 0; i < dt.Rows.Count; i++) { u = new UserInfo(); u.Id = int.Parse(dt.Rows[i][1].ToString()); u.UserName = dt.Rows[i][2].ToString(); u.Name = dt.Rows[i][3].ToString(); u.Age = Convert.ToInt32(dt.Rows[i][4].ToString()); list.Add(u); } return list; }
在给DataSource配置数据源的时候
五、设置ObjectDataSource的SelectCountMethod="GetCount";设置该属性为业务逻辑层的一个方法,这个方法的作用就是查询出当前表中一共有多少条记录:select count(*) from aspx_students
/// <summary> /// 获取表的总条数 /// </summary> /// <returns></returns> public int GetUserInfoCount() { string sql = "select count(*) from t_userinfo"; object count = SqlHelper.ExecuteScalar(sql, null); return Convert.ToInt32(count); ; }
六、
-----添加一个ListView控件,设置数据源为ObjectDataSource
-----配置ListView,启用“编辑”、“删除”、“插入”,不要启用“分页”
七、
---添加一个DataPager控件。设置该控件的PagedControlID为对应的ListView
---设置该控件的PageSize属性,每页显示多少条。
---为该控件选择一个分页导航的样式。
八,使用DataPager控件为ListView控件分页的时候一定要注释掉(禁用掉)ObjectDataSource源中的以下代码
<%-- <SelectParameters> <asp:Parameter Name="currentPage" Type="Int32" /> <asp:Parameter Name="pageSize" Type="Int32" /> </SelectParameters>--%>
九:如果删除按钮无效果:那么可能需要设置ListView控件的DataKeyNames属性。这个属性的值就是 ListView控件绑定数据的Model 的主键
例如:
相关文章推荐
- WaitForSingleObject函数的使用
- RemObjects SDK Source For Delphi XE7
- Objective-C---4---数组和值对象
- 【IOS 开发学习总结-OC-22】★objective-c——使用@try 处理异常
- python的class是否继承object区别
- OC - NSString/NSMutablestring
- Rich feature hierarchies for accurate object detection and semantic segmentation
- Objective-C中的Block
- OC-NSSTRING-NSMUTABLENSTRING
- Effective Objective-C(二)
- Effective Objective-C
- self在类方法中的使用
- 【IOS 开发学习总结-OC-21】★★★objective-c面向对象——委托/代理(delegate)
- Objective C中nil/Nil/NULL的区别
- 封装的概念和原理,set和get方法
- 类方法
- NSString字符串长度计算方法
- NSString类的介绍和用法
- object-c结构体赋值
- object-c Person类实现和分析