ListView +ObjectDataSource+DataPager
来源:互联网 发布:掌上公交软件下载 编辑:程序博客网 时间:2024/06/06 07:09
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查询方法中的第二个参数(即:页大小,即:每页显示多少条数据)(必须与业务逻辑层中的查询方法的第二个参数名称一致)这个属性的的值必须与查询方法中的第一个参数的名字一样
如下:(注意:这个分页方法,第一个参数一定是要查询第几行的前一行,第二个参数是页大小)
/// <summary>/// 分页查询/// </summary>/// <param name="StartRow">开始行的前一行</param>/// <param name="PageSize">页大小</param>/// <returns></returns>/// 开是行的前一行的意思就是:假如我要查询31-40条数据,那么前一行就是30public 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 的主键
例如:
- ListView +ObjectDataSource+DataPager
- Building Custom Paging with LINQ, ListView, DataPager and ObjectDataSource
- 使用ListView+ObjectDataSource+DataPager实现增删改查加分页
- ListView + DataPager
- ObjectDataSource+DataPager+GridView+Nhibernate分页
- ListView + DataPager 分页查询
- DataPager和ListView 的关系
- DataPager
- ListView控件和DataPager控件配合方法
- ListView控件与DataPager控件详解
- ListView搭配DataPager控件实现分页--笔记
- 用DataPager与ListView实现分页。
- Asp.Net ListView+DataPager 的使用
- ObjectDataSource+ListView高效分页(SQL2005适用)
- objectdatasource
- ObjectDataSource
- (转)ASP.NET 3.5中的ListView控件和DataPager控件
- ListView控件与DataPager控件详解(1)
- linux定时关机命令
- XBMC应用开发小结--(三)
- Magento中新建一个布局文件(自定义布局文件)
- 瑞星推出虚拟化系统安全软件试用活动 全面普及虚拟化安全
- hive 远程debug
- ListView +ObjectDataSource+DataPager
- JAVA算法_快速排序
- ABAP中使用函数Number_Get_Next产生流水号
- Android隐藏虚拟按键(底部导航栏)
- 如何深入理解 StatsD 与 Graphite ?
- flume读取日志数据写入kafka
- 如何使Android应用程序获取系统权限
- 【小知识点总结】保存android日志logcat到文件中
- protobuf-2.5.0安装