【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。
分页控件的源代码下载网址:http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html
(在网页的下面)
下载文件里面由一个测试网页:http://localhost:5561/test/Testlist.aspx?fid=1
请注意后面的参数。
在webconfig里面修改连接字符串和数据库类型。DataType ---- 1: MS SQL ;2:Oledb;3:ODBC。
<appSettings>
<add key="DataType" value ="1"/>
</appSettings>
<connectionStrings>
<add name="ConnStr" connectionString="Data Source=.;Initial Catalog=*** ;persist security info=False;user id=sa;pwd=;" providerName="System.Data.SqlClient"/>
</connectionStrings>
环境说明: IDE:vs2008。
Framework:.net 2.0。
数据源:各种数据库。 形式:服务器控件,引用DLL即可。
功能说明: 分页的方式显示提取数据。包括UI的绘制、分页算法(根据属性组合成SQL语句)、提取数据、绑定控件、计算总记录数(可以自动保存,以提高效率)
两种分页方式 PostBack 和 URL。(暂时只支持Postback分页。)
贴两个图先:
优点:
1、支持多重数据库
这个要感谢 数据访问函数库(其实是ADO.net2.0),还有就是 PageSQL 这个类。
2、使用简单,能在控件内部实现的都实现了,外面只需要设置属性就可以实现分页的功能,不需要处理翻页时产生的事件。 最少只需要写四行代码就可以搞定。
myPage.ControlGridID = GV.ID; //设置显示数据的控件的ID值。
myPage.TableName = " TableName"; //表名或者字段名
myPage.TableOrderColumns = "OrderByColumns"; //排序字段
myPage.BindFirstPage(); //显示第一页的数据
3、两种分页方式 PostBack 和 URL,可以随时切换。
4、不使用存储过程,便于分页算法的升级。还可以灵活设置查询条件。(不使用存储过程也可以达到很高的效率)
分页控件终于升级到了.net2.0,虽然功能上没有增加,但是修改了大部分的内部代码。原先的是基于 .net1.1 的,升级后基于 .net2.0。虽然现在 .net3.5都出来了,但是为了能够更“兼容”一些,所以还是采用了.net2.0。
原来的代码是写在了一个.cs文件里面,看起来比较混乱,层次不够分明,在想扩展的时候就比较麻烦,现在按照“职责”分成了几块,每一块负责一个功能。 PageSQL 负责生成分页用的 SQL语句, PageGetData 负责到数据库里(通过数据访问函数库)提取数据,然后填充到集合(比如DataTable)里面, PageUI 负责UI的绘制。
这样就分工明确,便于替换,比如现在的分页控件默认的数据库是 SQL Server2005,那么目前提供的分页算法是利用Row_Number()来实现的,而 SQL Server2000 里没有这个函数,那么就要换一个分页算法,这时就可以继承PageSQL类,实现一个针对SQL Server2000的分页算法(难道是传说中的多态)。这样就可以很方便的更换数据库和分页算法(同一种数据库,多种分页算法)(难道是传说中的对修改关闭?)。
使用方法和常用的属性说明
public partial class TestList : BaseClass.BasePageList
{
protected void Page_Load(object sender, EventArgs e)
{
myPage.ControlGridID = GV.ID; //设置显示数据的控件的ID值。
if (!Page.IsPostBack)
{
//属性会保存在ViewState里面,所以在第一次访问的时候赋值就可以了。
SetPageInfo();
}
}
private void SetPageInfo()
{
myPage.TableName = " TableName"; //表名或者字段名
//myPage.TableShowColumns = "*"; //显示的字段
//myPage.TableIDColumns = "MasteID"; //主键
myPage.TableOrderColumns = "OrderByColumns"; //排序字段
myPage.PageSize = 10; //一页的记录数
myPage.NaviCount = 5; //页号导航的数量
myPage.TableQuery = ""; //查询条件
myPage.BindFirstPage(); //显示第一页的数据
}
}
缺点: 由于时间仓储,有些功能还不完善。提供源代码,感兴趣的话,欢迎一起讨论:) 直接看源码:
http://www.cnblogs.com/jyk/archive/2008/06/25/1229967.html http://www.cnblogs.com/jyk/archive/2008/06/25/1229973.html 目前使用的分页算法 set nocount on; with t_pager as ( select *,rn = ROW_NUMBER() OVER (ORDER BY id desc) FROM test_indexorder ) SELECT id,name,content,co1,co2,co3,co4,co5 from t_rn WHERE rn between 19007 and 19057;
- 算法之逆序对
- Windows平台分布式架构实践 - 负载均衡
- Web Service初探
- async & await 的前世今生(Updated)
- MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN
- Spring @Transactional踩坑记
- jvm运行时环境属性一览
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
- C#集合类型大盘点
- 将spring源码导入到eclipse中
- 将struts源码导入eclipse
- 初探领域驱动设计(1)为复杂业务而生
- 最大公约数的算法
- 是时候开始用C#快速开发移动应用了
- 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 数组属性和方法
- Android开发之基于RecycleView实现的头部悬浮控件
- Android如何通过命令行操作Sqlite3数据库的方法
- Android实现沉浸式状态栏功能
- PHP对验证码的认证过程
- Android实现图片加载进度提示
- android shape实现阴影或模糊边效果
- Spring Data JPA主键采用UUID策略
- Android自定义控件之水平圆点加载进度条
- Android屏幕旋转之横屏竖屏切换的实现
- Android Studio连接SQLite数据库的登录注册实现
- Android 获取 usb 权限的两种方法
- Android实现两圆点之间来回移动加载进度
- Android使用第三方库实现日期选择器
- Android Activity向右滑动返回
- 大多数人都不懂的搜索引擎技巧,掌握这几点,提升你的工作效率