【开源】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;

 

时间: 2024-10-25 19:29:11

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。的相关文章

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】

================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================   最新版本:V2.0.0.7 .http://www.cnblogs.com/jyk/archive/2008/07/28/1255101.html 下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html   ================

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——分页控件的源码 (二)

namespace JYK.Controls.PageManage{    /**//// <summary>    /// 生成分页控件需要的SQL语句    /// </summary>    public class PageSQL    {        /**//// <summary>        /// 分页控件的实例        /// </summary>        public JYKPage myPage = null;    

我自己写的一个分页控件(源码和演示代码)PostBack分页版 for vs2003、SQL Server

温馨提示:asp.net分页控件已经升级了,基于.net2.0 ,支持多种数据库.正式命名为:QuickPager Asp.net 2.0 分页控件. 网站:www.natureFW.com 下载:http://www.naturefw.com/down/List1.aspx 在线演示:http://demo.naturefw.com 上一篇随笔:我的分页控件(未完,待续)--控件件介绍及思路 一.分页控件的工作层次    如果按照三层的划分方式来说,应该算作工作在 UI层 和 逻辑层.    

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.7 增加了一个js函数的分页方式。

       昨天在csdn上看到一个人提出来了一种分页的需求,大致是分页控件只负责绘制总页数.上一页.下一页等信息,然后在用户翻页的时候可以触发一个js函数,然后自己实现这个js函数.并不需要提交表单,他想用ajax的方式来获取数据,但是又不想使用微软的ajax.        大概的需求就是这样的(至少我的理解是这样的),不知道吴旗娃的分页控件是不是支持这种需求.不过我的分页控件还没有涉及到ajax,原因是我还不会用ajax,那么是不是可以先实现这种需求呢?想了一下,比较简单,只要继承Pag

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——分页控件的源码(一) 主体

namespace JYK.Controls{    /**//// <summary>    /// 分页控件    /// PageGetData.cs 负责提取数据    /// PageSQL.cs 负责生成SQl语句    /// PageUI.cs 负责分页控件的页面内容    /// </summary>    [DefaultProperty("Text")]    [ToolboxData("<{0}:JYKPage runat

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

       由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的bug,感谢网友试用提出宝贵意见.由于项目正在收尾中,时间也不是太充裕,所以使用说明也不够详细.这次是发一个新的版本,另外主要是说一下,如何在一个页面(一个项目)里访问多种数据库,对多种数据库里的表进行分页.        我用过的数据库有SQL Server2000.SQL Server2005.Access.Excel,而分页控件也支持这四种数据库,那么就以这四种数据库为例

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.4 增加了几个分页算法

================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================                最近忙一个项目,没有太多的时间来升级分页控件.不过还是生了一下,V2.0.0.4.变化不是太大,修改了一个属性的名称,增加了两种分页算法,还有两个分页算法的组合方式.        原来的 SetGetDataKind 属性名称改成了 SetRunKind.这个是由于一开始没有规划

【自然框架】js版的QuickPager分页控件 V2.0

优点: 1.  通过更换模板可以控制各个分页元素(比如首页.末页,页号导航等)的位置和是否显示. 2.  通过更换css可以实现各种UI风格和效果.(附带24套css效果) 3.  Js的方式创建分页UI,不占用服务器资源. 4.  可以通过插件的方式更换各部分js代码.如果自带的js代码不能满足您的需求,那么您自己写的插件实现需要的效果. 5.  Ajax的方式获取记录集,减轻网络负担. 6.  多种调用方式,让"偷懒"和灵活共存. 缺点: 1.  不支持SEO.因为用js和ajax

【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件

分页控件正式命名为 QuickPager ASP.NET2.0分页控件 . 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack .URL (暂时没有实现URL的分页方式) webform  (b/s) 支持多种数据库,分页算法,提取数据的方式都可以替换.     分页,自从做b/s的项目起,就和分页打起了交到,一开始使用UserControl来做,很粗糙,也没有什么性能可言.但是分页又是不可避免的,一次提取全部的数据,咱用的资源太多,吃不消.于是乎就在不断的想