标题:[原创]刚才做了半天完成的简易分页类
取消只看楼主
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
结帖率:100%
 问题点数:0 回复次数:14 
[原创]刚才做了半天完成的简易分页类

GBSjizXM.rar (13.57 KB) [原创]刚才做了半天完成的简易分页类


经过我的不懈努力,这个分页类终于被我完善完成,以更新为改进版,解决了最后一页的页码问题。经测试基本上无论如何设置每页的记录数,翻页都不会出错。

[此贴子已经被作者于2005-12-10 17:02:32编辑过]



kk83SnFf.rar (13.45 KB) [原创]刚才做了半天完成的简易分页类

搜索更多相关主题的帖子: 页类 页码 不懈努力 改进 
2005-12-09 22:33
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
回复:(yms123)[原创]刚才做了半天完成的简易分页类...

这个是分页类的分页效果。


EoYn84O2.jpg (87.32 KB)
2005-12-09 22:45
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
晕,努力了半天没人回帖,起码应该对得起别人的劳动吧?
2005-12-10 17:05
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用griefforyou在2005-12-10 21:22:00的发言:
PagingControl 函数里的逻辑太复杂,IF语句一大把,应该可以简化吧。

的确,代码的确是有精简的余地的。那个函数的作用就是主要控制分页的页码,和页数循环,而且一些算法还是可以精简的。目前这个只能算是简易的分页类,不过改进一下的话就应该可以做出一些复杂的功能。

2005-12-10 21:39
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用maxianfong在2005-12-20 23:32:00的发言:
不好的一点就是

到最后一页时就是报错~ 大家帮看一下呀~~



ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/qydq_xb.asp,行 0

不可能呀,我已经改进过了。并经过试验最后一页是不会出错的,虽说算法上还是复杂了一些,但已经经过我的测试没有任何问题。里面的例子程序就是可以用来验证。

2005-12-22 23:28
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
回复:(long00)如果我要查看名字里的信息怎么样加一...
以下是引用long00在2006-4-10 21:32:00的发言:
如果我要查看名字里的信息怎么样加一个链接呀,谢谢回答呢 !!

如果是网页加参数传参可以用。

oPage.URLStr="admin_UsLevelSeting.asp?Prem=参数1&Prem=参数2&"
的方法改变连接的URL传参数。
如果是SQL语句查询可以用
oPage.SQLStr="select * From Table Where TName='"&Request("Name")&"'"
改变这个字符串就可以改变SQL查询结果。
循环体有两种循环办法
一种使用
我写的那个循环方法,比较简单。
如果这种方法太简单无法满足要求,还可以用第二种直接用rs对象进行循环都可以。

Dim nPage
For nPage=0 To rs.PageSize
'这里加上页面记录的循环代码就OK了。
IF rs.EOF Then
rs.MoveNext
End IF
Next

2006-04-10 22:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用atozxp在2006-4-10 23:54:00的发言:
为什么第11页只显示共11页 当前第11页 9 710 8:,而不显示11俩字呢?

这里可能有点BUG最后一页可能循环没有循环出来,因为为了防止页数达到顶峰一般最后循环都是总页数-1的算法。
这点我回头改进一下。

2006-04-10 23:59
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
不过直接点击最后一页同样可以到达最后一页,并且可以向前翻页。
如果说新插入的数据显示在第1-2页这个是数据库没有对ID排序,设置一下access数据库的主键排序即可。这个不是程序的BUG,因为排序方法各有不同,这个跟不同的数据库设置有关所以程序并不提供排序功能。

[此贴子已经被作者于2006-4-11 0:12:40编辑过]

2006-04-11 00:03
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 

回复28楼的
Private Function showNumBtn()
Dim i,str_tmp
For i=1 to int_totalpage
str_tmp=str_tmp & "[<a href=""" & XD_sURL & Cint(i) & """>"&i&"</a>] "
Next
showNumBtn=str_tmp
End Function
28楼的代码中这个部分应该是数字导航部分,
其实28楼的分页代码的ShowPage()编写的不灵活,
把分页代码直接在过程中Response.Write,所以无法控制出现位置。
而我的分页类是把导航部分可以单独提取出来,这样只要在页面初始化代码的下面的任意一个位置都可以用导航功能。
只要在需要的地方调用一下导航方法即可完成,这样做要灵活很多。

2006-07-16 10:50
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
目前最流行的是XML分页,不过ASP的目前本人还没做过呢。
2006-11-07 21:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-37557-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.144897 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved