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

Coldfusion MX PageList之骨灰版

熱門標(biāo)簽:呼叫中心市場需求 Win7旗艦版 客戶服務(wù) 百度AI接口 企業(yè)做大做強 電話運營中心 硅谷的囚徒呼叫中心 語音系統(tǒng)
你要的功能都在這里,注意是PAGELIST,這是CCF核心代碼之一,相信能比我這代碼還少的PAGELIST少了.功能絕對沒有打折扣.包括 pagelist 首頁/末頁,上頁/下頁, 頁碼可以設(shè)置顯示數(shù)字多少,這避免了數(shù)量一多起來把pagelist拉的好長.... 
在調(diào)用PAGELIST的源文件中定義下面這些變量: 
cfset rowsperpage=10> !---每頁顯示記錄的數(shù)量----->
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代碼:可以保持成一個網(wǎng)頁,然后插入到你要顯示的地方就可以了.把里面的查詢變量名修改成你自己的查詢變量名就可以了.


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

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> 

!-- 頁數(shù) 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">!--- 別忘記了關(guān)閉壓縮空白功能 ---> 


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

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

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> 

!-- 頁數(shù) 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">!--- 別忘記了關(guān)閉壓縮空白功能 --->

 


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

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

標(biāo)簽:安康 濟南 山西 海南 喀什 崇左 長沙 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Coldfusion MX PageList之骨灰版》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266