主頁 > 知識庫 > Coldfusion MX PageList之骨灰版

Coldfusion MX PageList之骨灰版

熱門標簽:樂昌電話機器人 真人語音電銷機器人系統 北京語音電銷機器人價格 電話機器人電話卡封號怎么辦 浦東上海400開頭的電話申請 武漢呼叫中心外呼系統線路商 買了外呼系統不想用了怎么辦 邯鄲外呼調研線路 開封百應電銷機器人聯系方式
你要的功能都在這里,注意是PAGELIST,這是CCF核心代碼之一,相信能比我這代碼還少的PAGELIST少了.功能絕對沒有打折扣.包括 pagelist 首頁/末頁,上頁/下頁, 頁碼可以設置顯示數字多少,這避免了數量一多起來把pagelist拉的好長.... 
在調用PAGELIST的源文件中定義下面這些變量: 
cfset rowsperpage=10> !---每頁顯示記錄的數量----->
cfparam name="URL.startrow" default="1" type="numeric"> 
cfset totalrows=newarticle.Recordcount> 
cfset endrow=Min(URL.startrow+rowsperpage-1,totalrows)> 
cfset startRowNext=endrow+1> 
cfset startrowBack=URL.startrow-rowsperpage> 


Pagelist代碼:可以保持成一個網頁,然后插入到你要顯示的地方就可以了.把里面的查詢變量名修改成你自己的查詢變量名就可以了.


cfsetting enablecfoutputonly="Yes">!--- 壓縮空白,提高性能 ---> 
cfparam name="page" default=1 type="numeric"> !--- 初始化本頁頁號 ---> 
cfparam name="n" default=7 type="numeric"> !--- 設置可以顯示多少個頁 ---> 

cfset min = page-Int(n/2)> 
cfset max = page+Int(n/2)> 

cfif min LT 1> 
 cfset max = max - (min-1)> 
 cfset min = 1> 
/cfif> 

cfif max GT Ceiling(newarticle.recordcount/rowsPerPage)> 
 cfset min = min - (max - Ceiling(newarticle.recordcount/rowsPerPage))> 
 cfset max = Ceiling(newarticle.recordcount/rowsPerPage)>
/cfif> 

cfif min lt 1>
cfset min=1>
/cfif> 

!-- 首頁 first-->
cfif page NEQ 1>
cfoutput>
a href="#CGI.SCRIPT_NAME#?StartRow=1Page=1" title="首頁">/a>
/cfoutput>
/cfif> 

!-- 頁數 PAGELIST -->
cfloop index="x" from="#min#" to="#max#">
cfset nextpage=x*rowsperpage-(rowsperpage-1)>
cfoutput>
cfif page eq x>[#x#] cfelseif nextpage LTE newarticle.recordcount>
a href="#CGI.SCRIPT_NAME#?StartRow=#nextpage#Page=#x#">#x#/a>
/cfif>
/cfoutput>
/cfloop> 

!-- 末頁 Last -->
cfset laststartrow=newarticle.recordcount-rowsPerPage+1>
cfif page NEQ MAX>
cfoutput>
a href="#CGI.SCRIPT_NAME#?StartRow=#laststartrow#Page=#Ceiling(newarticle.recordcount/rowsPerPage)#">>>/a>
/cfoutput>
/cfif> 

!-- 上一頁/下一頁 -->
cfoutput>
CFIF startrowBack GT 0>
cfif page EQ 1>
CFSET NTback=1>
cfelse>
cfset NTback=page-1>
/cfif>
a href="#CGI.SCRIPT_NAME#?startrow=#startrowback#page=#NTback#">上一頁/a>
/CFIF>
CFIF startrownext LTE totalrows>
cfset NTnext=page+1>
a href="#CGI.SCRIPT_NAME#?startrow=#startrownext#page=#NTnext#">下一頁/a>
/CFIF>
/cfoutput>
cfsetting enablecfoutputonly="no">!--- 別忘記了關閉壓縮空白功能 ---> 


代碼拷貝框
以下是引用片段:

cfsetting enablecfoutputonly="Yes">!--- 壓縮空白,提高性能 ---> 
cfparam name="page" default=1 type="numeric"> !--- 初始化本頁頁號 ---> 
cfparam name="n" default=7 type="numeric"> !--- 設置可以顯示多少個頁 ---> 

cfset min = page-Int(n/2)> 
cfset max = page+Int(n/2)> 

cfif min LT 1> 
 cfset max = max - (min-1)> 
 cfset min = 1> 
/cfif> 

cfif max GT Ceiling(newarticle.recordcount/rowsPerPage)> 
 cfset min = min - (max - Ceiling(newarticle.recordcount/rowsPerPage))> 
 cfset max = Ceiling(newarticle.recordcount/rowsPerPage)>
/cfif> 

cfif min lt 1>
cfset min=1>
/cfif> 

!-- 首頁 first-->
cfif page NEQ 1>
cfoutput>
a href="#CGI.SCRIPT_NAME#?StartRow=1Page=1" title="首頁">/a>
/cfoutput>
/cfif> 

!-- 頁數 PAGELIST -->
cfloop index="x" from="#min#" to="#max#">
cfset nextpage=x*rowsperpage-(rowsperpage-1)>
cfoutput>
cfif page eq x>[#x#] cfelseif nextpage LTE newarticle.recordcount>
a href="#CGI.SCRIPT_NAME#?StartRow=#nextpage#Page=#x#">#x#/a>
/cfif>
/cfoutput>
/cfloop> 

!-- 末頁 Last -->
cfset laststartrow=newarticle.recordcount-rowsPerPage+1>
cfif page NEQ MAX>
cfoutput>
a href="#CGI.SCRIPT_NAME#?StartRow=#laststartrow#Page=#Ceiling(newarticle.recordcount/rowsPerPage)#">>>/a>
/cfoutput>
/cfif> 

!-- 上一頁/下一頁 -->
cfoutput>
CFIF startrowBack GT 0>
cfif page EQ 1>
CFSET NTback=1>
cfelse>
cfset NTback=page-1>
/cfif>
a href="#CGI.SCRIPT_NAME#?startrow=#startrowback#page=#NTback#">上一頁/a>
/CFIF>
CFIF startrownext LTE totalrows>
cfset NTnext=page+1>
a href="#CGI.SCRIPT_NAME#?startrow=#startrownext#page=#NTnext#">下一頁/a>
/CFIF>
/cfoutput>
cfsetting enablecfoutputonly="no">!--- 別忘記了關閉壓縮空白功能 --->

 


GAME OVER.
說明一下上面沒有注釋的幾段控制語句:
cfparam name="n" default=7 type="numeric">
這里設置默認為7,也就是當你在瀏覽12條的記錄的時候,會顯示 9 10 11 [12] 13 14 15
數一下,是不是7條,這是重要的一部分,你也可以設置為雙數,但是效果不會怎么好,不平衡了. 
另外上面還有自動隱藏的功能.例如我在最后一頁了,不會出現 末頁和下一頁. 

再次提醒一下:你必須把你自己的查詢變量名替換newarticle.recordcount這個我設置的變量名.最好用 查找/替換 一次全部換掉. 

標簽:淄博 鄂州 宜春 六安 河北 松原 自貢 石嘴山

巨人網絡通訊聲明:本文標題《Coldfusion MX PageList之骨灰版》,本文關鍵詞  Coldfusion,PageList,之,骨灰,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Coldfusion MX PageList之骨灰版》相關的同類信息!
  • 本頁收集關于Coldfusion MX PageList之骨灰版的相關信息資訊供網民參考!
  • 推薦文章