操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

分页对象(vbscript版)

2006-9-25 网友评论 0 条 点击进入论坛

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
'' ************************************************************************
'' Script Compont Object Model
'' Design for Active Server Pages
''
'' Copyright 2004 Version 2.0
'' Made by 尹曙光
'' ************************************************************************
function CreateCPageNavbar()
set CreateCPageNavbar=new CPageNavbar
end function
Class CPageNavbar
Public SplitSize ''分页显示的容量
public PnWidth
public PnAlign
public PlWidth ''表格宽度
public PlAlign '' 表格的对齐方式
private PageSize
private RecordCount ''总记录数]
private PageCount ''总页数
private CurrentPage ''当前的页码
private SplitCount ''分页的显示的总页数
private CurrentSplit ''当前的分页的分页码
''===============================================================
Private Sub Class_Initialize '' Setup Initialize event.
SplitSize=10
PnWidth="100%"
PnAlign="right"
PlWidth="100%" file://表格宽度
PlAlign="right" // 表格的对齐方式
PageSize=0
RecordCount=0
CurrentPage=1
PageCount=1
SplitCount=1
CurrentSplit=1
End Sub
Private Sub Class_Terminate '' Setup Terminate event.
End Sub

public sub InitPageNavbar(byval iPageSize,byval iRecordCount)
PageSize=cint(iPageSize)
RecordCount=clng(iRecordCount)
PageCount=fix(RecordCount/PageSize)+1
SplitCount=fix(PageCount/SplitSize)+1
end sub

public function GetCurrentPage()
''on error resume next
dim pageNo
pageNo =trim(Request.QueryString ("_Page_No_"))
''如果没有选择第几页,则默认显示第一页;
if ( (not IsNumeric(pageNo)) or pageNo="") then
pageNo =1
end if
CurrentPage=clng(pageNo)
if (CurrentPage<1) then
CurrentPage=1
end if
if (CurrentPage>PageCount) then
CurrentPage=PageCount
end if
CurrentSplit=fix(CurrentPage/SplitSize)+1
GetCurrentPage=CurrentPage
end function

public function plDisplay()
dim strBuilder,p,itmp
strBuilder=""
''首组为第0族
strBuilder=strBuilder+"<table border=''0'' cellpadding=''0'' cellspacing=''0'' "
strBuilder=strBuilder+" width=''"&PlWidth&"'' align=''"&PlAlign&"''>"
strBuilder=strBuilder+" <tr> "
strBuilder=strBuilder+" <td valign=''middle'' align=''right''>分页:"
if (CurrentSplit=1) then
strBuilder=strBuilder+"<font face=''webdings'' color=''#ff0000''>9</font> "
strBuilder=strBuilder+"<font face=''webdings'' color=''#ff0000''>7</font>"
else
strBuilder=strBuilder+"<a href=http://www.ddvip.com/web/VBScript/index2/''?_Page_No_=1'' title=''首页''><font face=''webdings''>9</font></a> "
strBuilder=strBuilder+"<a href=http://www.ddvip.com/web/VBScript/index2/''?_Page_No_="&cstr((CurrentSplit-2)*SplitSize)&"'' title=''上"&cstr(SplitSize)&"页''><font face=''webdings''>7</font></a> "
end if
strBuilder=strBuilder+"<b>"
''分页列表
itmp=(CurrentSplit-1)*SplitSize+1
for i=itmp to (itmp+SplitSize-1)
if (i=CurrentPage) then
strBuilder=strBuilder+"<font color=''#000000''>"&cstr(i)&"</font> "
else
strBuilder=strBuilder+"<a href=http://www.ddvip.com/web/VBScript/index2/?_Page_No_="&cstr(i)&" title=''转到: 第"&cstr(i)&"页''>"&cstr(i)&"</a> "
end if
if (i>=PageCount) then
exit for
end if
next
strBuilder=strBuilder+"</b>"
''显示下十页
if (CurrentSplit<SplitCount) then
strBuilder=strBuilder+"<a href=http://www.ddvip.com/web/VBScript/index2/''?_Page_No_="&cstr((CurrentSplit)*SplitSize)&"'' title=''下十页''><font face=''webdings''>8</font></a> "
strBuilder=strBuilder+"<a href=http://www.ddvip.com/web/VBScript/index2/?_Page_No_="&cstr(PageCount)&" title=''尾页''><font face=''webdings''>:</font></a> "
else
strBuilder=strBuilder+"<font face=''webdings'' color=''#ff0000''>8</font>"
strBuilder=strBuilder+"<font face=''webdings'' color=''#ff0000''>:</font>"
end if
strBuilder=strBuilder+"</td></tr></table>"
Response.Write(strBuilder)
end function

public function pnDisplay()
dim strBuilder,nextPageNo
strBuilder=""
strBuilder=strBuilder+"<table border=''0'' cellpadding=''0'' cellspacing=''0'' "
strBuilder=strBuilder+" width=''"&PnWidth&"'' align=''"&PnAlign&"''>"
strBuilder=strBuilder+"<tr>"
strBuilder=strBuilder+"<td valign=''middle''>页次:[<b>"&cstr(CurrentPage)&"</b>/<b>"&cstr(PageCount)&"</b>]页 每页[<b>"&cstr(PageSize)&"</b>]条 总记录数:[<b>"&cstr(RecordCount)&"</b>]条</td>"
strBuilder=strBuilder+"<td align=''right''>"
if (cint(CurrentPage)>1) then
nextPageNo=cint(CurrentPage)-1
strBuilder=strBuilder+"[<a href=http://www.ddvip.com/web/VBScript/index2/?_Page_No_="&cstr(nextPageNo)&" title=''转到上一页''>上一页</a>]"
end if
if (cint(CurrentPage)<cint(PageCount)) then
nextPageNo=cint(CurrentPage)+1
strBuilder=strBuilder+"[<a href=http://www.ddvip.com/web/VBScript/index2/?_Page_No_="&cstr(nextPageNo)&" title=''转到下一页''>下一页</a>]"
end if
strBuilder=strBuilder+"</td></tr></table>"
Response.Write(strBuilder)
end function
End Class

</SCRIPT>

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46430 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail