<% '------------------------------------------- ' 接口: ' 屬性: ' a、tip:項目提示(如,“篇文章”); ' b、tablewidth:跳轉頁導航寬度 ' 方法: ' a、SetRsObj()方法:設置ADODB.RECORDSET對象; ' b、ControlPages()方法:顯示跳轉頁導航(“上一頁”、“下一頁”……) ' c、SetParams()方法:設置參數數組 ' 范例: ' dim params(1,1) ' params(0,0) = "query" : params(0,1) = request("query") ' params(1,0) = "keyword" : params(1,1) = request("keyword") ' 該數組主要傳遞查詢關鍵字(如字段關鍵字、時間等),第一維是參數名稱,第二維是參數值:如下http://…….asp?topage=2&query=yes&keyword=a ' ' set PageCtrl = new CPageCtrl ' PageCtrl.SetRsObj (RS) '設置ADODB.RECORDSET對象,其中RS是已建立好的ADODB.RECORDSET,即所要控制的記錄集 ' PageCtrl.tip = "篇文章" ' PageCtrl.tablewidth = "100%" ' PageCtrl.SetParams params
' PageCtrl.DimPage (15) '分頁定義,每頁15條記錄 ' PageCtrl.ControlPages() '顯示跳轉頁導航 '-------------------------------------------
class CPageCtrl public tip, tablewidth private setobjflag, rsobj, pages, record, setparamsflag, current, topage dim params() '---------------------------------- private sub class_initialize() tablewidth = "100%" end sub '--------------------------------- public function SetRsObj(obj) set rsobj = obj setobjflage = true end function '----------------------------------
private function chksetobj() if setobjflage <> true then response.End() end function '----------------------------------
public function DimPage(psize) '分頁定義 dim topages topage = request("topage")
if not rsobj.eof then
if not isempty(psize) then rsobj.pagesize = cint(psize) '定義每頁顯示數目 else rsobj.pagesize = rsobj.recordcount end if
pages = rsobj.pagecount record = rsobj.recordcount
if topage <> empty then topages = CInt(topage)
if topage <= 1 then rsobj.absolutepage = 1 elseif topages >= pages then rsobj.absolutepage = pages else rsobj.absolutepage = topages end if end if
current = rsobj.absolutepage end if
end function '----------------------------------
public function SetParams(arrParams()) params = arrParams setparamsflag = true end function
'----------------------------------
public function controlpages() dim url
url = "http://" & request.ServerVariables("HTTP_HOST") & request.ServerVariables("URL")
if setparamsflag = true then row = ubound(params,1) col = ubound(params,2) if col <> 1 then exit function end if
for i = 0 to row if params(i,0) <> empty then condition = condition & "&" & params(i,0) & "=" & params(i,1) '生成參數 end if next end if
response.write "<table width='" & tablewidth & "' border='0' cellspacing='0' cellpadding='0'>" response.write "<form action='" & url & "' method='post'>" response.write "<tr> " response.write "<td height='20'> 目前共有 <font color='red'><b>" & record & "</b></font> "& tip & " 當前分頁狀況 <font color='red'><b>" & current & "/" & pages & "</b></font></td>" if current <> 1 then response.write "<td width='40' align='center' height='20'>" response.write "<a href='" & url & "?topage=1" & condition & "'>首 頁</a>" response.write "</td>" response.write "<td width='44' align='center' height='20'>" response.write "<a href='" & url & "?topage=" & current-1 & condition & "'>上一頁</a>" response.write "</td>" else response.write "<td width='40' align='center' height='20'>" response.write "<font color='#999999'>首 頁</font>" response.write "</td>" response.write "<td width='44' align='center' height='20'>" response.write "<font color='#999999'>上一頁</font>" response.write "</td>" end if if current <> pages then response.write "<td width='44' align='center' height='20'>" response.write "<a href='" & url & "?topage=" & current+1 & condition & "'>下一頁</a>" response.write "</td>" response.write "<td width='40' align='center' height='20'>" response.write "<a href='" & url & "?topage=" & pages & condition & "'>尾 頁</a>" response.write "</td>" else response.write "<td width='44' align='center' height='20'>" response.write "<font color='#999999'>下一頁</font>" response.write "</td>" response.write "<td width='40' align='center' height='20'>" response.write "<font color='#999999'>尾 頁</font>" response.write "</td>" end if
response.write "<td>" response.write "<input type='text' name='topage' size='4' style='BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #a0a0a0 1px solid; BORDER-LEFT: #a0a0a0 1px solid; BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; FONT-SIZE: 12px'>" response.write "</td>" response.write "</tr>" response.write "</form>" response.write ""
end function end class %>
|