【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。
由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的bug,感谢网友试用提出宝贵意见。由于项目正在收尾中,时间也不是太充裕,所以使用说明也不够详细。这次是发一个新的版本,另外主要是说一下,如何在一个页面(一个项目)里访问多种数据库,对多种数据库里的表进行分页。
我用过的数据库有SQL Server2000、SQL Server2005、Access、Excel,而分页控件也支持这四种数据库,那么就以这四种数据库为例。目的是在一个页面里面对这四种数据库里的表进行分页显示。
如何在项目里添加控件,请看这里:http://www.cnblogs.com/jyk/archive/2008/06/27/1231337.html
目前分页控件里面的分页算法有
// 基于Row_Number的分页算法,只支持SQL Server2005数据库 Row_Number = 1,
// 基于表变量的分页算法,支持SQL Server2000、SQL Server2005数据库 TableVar = 2,
// Max的分页算法。支持SQL Server2000、SQL Server2005数据库 MaxMin = 3,
// 颠倒法,需要设置主键,已经修改了最后一页的bug。支持SQL Server2000、SQL Server2005、Access、Excel TopTop = 4,
// Max 和 颠倒法自动切换 Max_TopTop = 304,
// Max 和 表变量自动切换 Max_TableVar = 302
数据库就用 northwind 吧,这个大家都有吧。拿一个简单的表Products来分页吧。
1、在页面里拖拽四个GridView控件,和四个分页控件,一一对应,每一组对应一种数据库。
2、由于数据库的类型不一样,所以每一个分页控件都需要不同的数据访问函数库的实例。由于web.confog里面的连接字符串是访问SQL Server2000的,所以SQL Server2000对应的分页控件就不用单独设置了,其他的三个分页控件需要单独设置一下数据访问函数库的实例。(代码在下面一起给出)
3、数据访问函数库的实例设置完毕之后其他的设置就没有特殊的地方了,和访问一种数据库是一样的,只是对于Excel文件来说,表名是工作表 + “$”组成的。比如工作表的名称是“Sheet1”,那么对应的表名是“Sheet1$”。
4、代码:
1protected void Page_Load(object sender, EventArgs e)
2 {
3 Response.Cache.SetNoStore();
4
5 设置SQL 2005的分页控件需要的数据访问函数库的实例#region 设置SQL 2005的分页控件需要的数据访问函数库的实例
6 //连接字符串
7 string cnStr = @"Data Source=.s05;Initial Catalog=northwind ;persist security info=False;user id=sa;pwd=admin;";
8
9 //定义数据访问函数库
10 DataAccessHelp dal_2005 = new DataAccessHelp("1", cnStr);
11 //交给给分页控件
12 this.myPager_2005.DAL = dal_2005;
13 #endregion
14
15 设置Access的分页控件需要的数据访问函数库的实例#region 设置Access的分页控件需要的数据访问函数库的实例
16 //连接字符串
17 string Path = Server.MapPath("~/dataAccess.mdb");
18 cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Jet OLEDB:Database Locking Mode=1;";
19
20 //定义数据访问函数库
21 DataAccessHelp dal_Access = new DataAccessHelp("2", cnStr);
22 //交给给分页控件
23 myPager_Access.DAL = dal_Access;
24 #endregion
25
26 设置Excel的分页控件需要的数据访问函数库的实例#region 设置Excel的分页控件需要的数据访问函数库的实例
27 //连接字符串
28 Path = Server.MapPath("~/dataExcel.xls");
29 cnStr = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + Path + ";Extended Properties=Excel 8.0";//;HDR=YES;
30
31 //定义数据访问函数库
32 DataAccessHelp dal_Excel = new DataAccessHelp("2", cnStr);
33 //交给给分页控件
34 this.myPager_Excel.DAL = dal_Excel;
35 #endregion
36
37
38 if (!Page.IsPostBack)
39 {
40 setPageInfo1();
41 setPageInfo2();
42 setPageInfo3();
43 setPageInfo4();
44 }
45 }
46
47 设置分页控件的属性 sql 2000#region 设置分页控件的属性 sql 2000
48 private void setPageInfo1()
49 {
50 //以下三个属性必须赋值
51 this.myPager_2000.ControlGridID = this.GV_2000.ID;
52
53 this.myPager_2000.TableName = " Products"; //表名或者视图名
54 this.myPager_2000.TableIDColumns = "ProductID"; //主键
55 this.myPager_2000.TableShowColumns = "*"; //显示的字段,可以不填,默认为 *
56 this.myPager_2000.TableOrderColumns = "ProductName,ProductID "; //排序字段,可以写多个字段
57 this.myPager_2000.TableQuery = ""; //查询条件,不包含 where
58
59 this.myPager_2000.PageSize = 3; //一页显示的记录数,默认一页显示20条记录
60 this.myPager_2000.NaviCount = 8; //页号导航的数量,默认10个
61
62
63 }
64 #endregion
其他数据库的设置方法也是一样的,省略了。下面的网址有完全的代码。
5、分页控件的源码和demo的下载网址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html
- C#中Dispose和Close的区别!
- C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
- 你真的会玩SQL吗?查询指定节点及其所有父节点的方法
- ASP.Net MVC框架配置与分析
- MVC利用MvcHtmlString在后台生成HTML
- ExtJs学习笔记(7)_获取GridPanel选中行的详细信息
- ExtJs学习笔记(5)_Ajax示例
- shell脚本之特殊符号总结性梳理
- Centos6.X 下安装并使用VNC的操作记录
- Linux系统是否被植入木马的排查流程梳理
- 添加php的memcached扩展模块
- Android TextView中显示图片
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
- 分享一个刷网页PV的python小脚本
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- shutil模块,为什么说它是os模块的兄弟模块?
- HTML5+CSS3项目实战之河马牙医首页、百度首页、Mac桌面、简书首页、登录注册页面、苏宁易购首页
- 【Vue.js】Vue.js中的Vuex、Vue-Ajax和京东购物车项目实战
- ubuntu16.04安全小结-01
- 重新认识HTTP3xx重定向机制
- 【Vue.js】Vue.js中常用的UI组件库和Vue Router
- 四大查找算法
- 从Python调用堆栈获取行号等信息
- 详解supervisor进程管理
- Python时间模块常用操作总结
- rtmp规范1.0
- 实战|Python轻松实现动态网页爬虫(附详细源码)
- 排序算法 --- 桶排序
- 8086汇编语言——操作内存中的数据
- JVM内存模型不再是秘密