主页 > 知识库 > Coldfusion MX PageList之骨灰版

Coldfusion MX PageList之骨灰版

热门标签:呼叫中心市场需求 Win7旗舰版 客户服务 百度AI接口 企业做大做强 电话运营中心 硅谷的囚徒呼叫中心 语音系统
你要的功能都在这里,注意是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之骨灰版》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266