代码改变世界

【开源】QuickPager ASP.NET2.0分页控件 v2.0.0.2版本。

2008-07-02 07:37  金色海洋(jyk)  阅读(2954)  评论(12编辑  收藏  举报

下载地址:https://files.cnblogs.com/jyk/Page2.0.0.2_080701.rar
这回只有 dll文件。请把包里的文件拷贝到bin目录下。

道歉。
由于v2.0.0.1有些地方没有说说清楚,给一些朋友带来了一些麻烦,在这里向大家道歉,对不住大家了。

再说一下 v2.0.0.1 的功能。

1、连接数据库。

    连接数据库是通过数据访问函数库来实现的,连接哪种数据库和连接字符串是在web.config里面设置的。
    ConnStr 这个是连接字符串,没有什么大问题。
    DataType 数数据库类型,这个就没有说清楚。
    DataType = “1”:使用 System.Data.SqlClient 连接 SQL Server 数据库 ,包括 SQL2000 和 SQL2005。
    DataType = “2”:使用System.Data.OleDb连接。可以连接Access、Excel等。
    DataType = “3”:使用System.Data.Odbc连接。可以连接Access等。

    由于没有用过其他的数据库,所以暂时只能使用这三种方式。

    2、分页算法。
    一开始是这么想的,我觉得使用了Vs2005的,一般都会把数据库也升级到SQL2005,所以V2.0.0.1只加上了Row_Number的分页算法,也就是说这种分页算法支持SQL2005,如果您使用 SQL2000的话,那么只能看到第一页,看其他页的时候就会出错。看来不能靠感觉,感觉往往是不可靠的。这一点也给一些朋友带来了麻烦,再次道歉。

    3、版本号。
    2.0.0.1:前面的 2.0表示基于.net Framework2.0,后面的0.1是分页控件自己的版本号。

v2.0.0.2增加的功能
    1、分页算法
    由于时间有限,先增加一个分页算法,使用表变量的方式来分页,这样可以支持SQL2000了。以前也没有使用过表变量的分页方式,是根据吴旗娃的分页控件的网站里提供的存储过程的代码作为参考,修改了一下。

    发现了一个小问题,好像这种方式,要求表必须有一个主键,而且不能是符合主键,而且主键必须是 int类型的。可能是我对表变量的分页算法还不是很了解,也许没有这些要求?

    使用这种分页算法的话必须设置TableIDColumns属性,也就是表的主键。

    目前我是用的表变量的分页算法:
set nocount on

declare @tt table(id int identity(1,1),nid int)
insert into @tt(nid) 
select top 30 ProductID from Products  --where SupplierID =1
order by ProductName asc

select * from Products O,@tt t where O.ProductID=t.nid
and t.id between 20 +1 and 30 order by t.id

set nocount off

    以上算法根据吴旗娃的分页控件的网站提供的存储过程改动而成。
    由于不用使用存储过程,好像代码简单了一点。    

    2、增加了一个属性:SQLKind
    使用这个属性来设置分页控件使用的分页算法,目前只有两种:Row_Number和TableVar(表变量)。请在控件的属性里赋值,如果您没有赋值的话,将采用TableVar(表变量)的方式来分页。

    

    以后还会增加新的分页算法,比如Max、颠倒Top等。这样可以根据不同的情况采用不同的分页算法,以达到最好的效果。

    在下一个版本里面还会增加一个事件,这样就可以向吴旗娃的分页控件的方式来分页了,这样就更灵活。

    这次就不发源码了,下一个版本的时候一起发。

    其他的使用方法和以前是一样的。

    具体请看:http://www.cnblogs.com/jyk/archive/2008/06/27/1231337.html



2