【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:      由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的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、代码:

 

 

 1 protected   void  Page_Load( object  sender, EventArgs e)
 2 img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif     {
 3        Response.Cache.SetNoStore();
 4
 5img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        设置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
15img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        设置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
26img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        设置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)
39img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        {
40            setPageInfo1();
41            setPageInfo2();
42            setPageInfo3();
43            setPageInfo4();
44        }

45    }

46
47 img_1c53668bcee393edac0d7b3b3daff1ae.gifimg_405b18b4b6584ae338e0f6ecaf736533.gif     设置分页控件的属性 sql 2000 #region 设置分页控件的属性 sql 2000 
48    private void setPageInfo1()
49img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif    {
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

 

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
8天前
|
C#
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
|
7天前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
|
7天前
|
JavaScript 前端开发 API
精选5个.NET开源且免费的通用权限管理系统
精选5个.NET开源且免费的通用权限管理系统
|
27天前
|
关系型数据库 C# 数据库
.NET 8.0 开源在线考试系统(支持移动端)
【10月更文挑战第27天】以下是适用于 .NET 8.0 的开源在线考试系统(支持移动端)的简介: 1. **基于 .NET Core**:跨平台,支持多种数据库,前后端分离,适用于多操作系统。 2. **结合 Blazor**:使用 C# 开发 Web 应用,支持响应式设计,优化移动端体验。 3. **基于 .NET MAUI**:跨平台移动应用开发,一套代码多平台运行,提高开发效率。 开发时需关注界面设计、安全性与稳定性。
|
7天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
7天前
|
机器学习/深度学习 文字识别 并行计算
一款.NET开源的屏幕实时翻译工具
一款.NET开源的屏幕实时翻译工具
|
8天前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
1月前
|
Linux C# Android开发
.NET开源跨平台桌面和移动应用的统一框架 - Eto.Forms
.NET开源跨平台桌面和移动应用的统一框架 - Eto.Forms
134 1
|
1月前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
|
1月前
|
前端开发 JavaScript C#
2款.NET开源且高效的代码格式化工具
2款.NET开源且高效的代码格式化工具