SFDC_08(翻页功能)

翻页的原理是数据库查询出的数据多,一页放不下,然后通过设置每次把一定条数的数据放到一个VF页面可以获取的list中,最主要得到其实是一个循环放置的函数。

我以Account表为例,查出这些数据,我每页只放三条数据。

 1 public with sharing class pageJumpController {
 2     // 画面显示的项目
 3     public Integer a{set;get;}
 4     public Integer b{set;get;}
 5     // 画面要显示的list
 6     public list<Account> accList{set;get;}
 7
 8
 9     public pageJumpController() {
10         a = 0;
11         b= 3;
12         accList = new list<Account>();
13         init();
14     }
15     // 这个方法就是把查询出来的数据放到前端显示的list里面
16     // *** 当你给a , b 附上不同的值,循环中给acclist 附的值就是第a条到第b条。重点就在这里。
17     public void init(){
18
19         accList.clear();
20         list<Account> accountList = [
21                                     Select
22                                         Id,
23                                         Phone,
24                                         Name
25                                     From
26                                         Account
27                                     ];
28         Integer num = 0;
29         for(Account acc : accountList){
30             num ++;
31             if( num>a && num <= b ){
32                 accList.add(acc);
33             }
34         }
35     }
36     // 当a==0时,数据已经把第一条显示出来,所以没有前一页
37         public void beforePage(){
38         if(a == 0){}else{a = a-3;}
39         if(b == 3){}else{b = b-3;}
40
41         init();
42     }
43     // 当a==6时,数据已经把最后一条显示出来,所以没有后一页
44     public void afterPage(){
45         if(a == 6){}else{a = a+3;}
46         if(b == 9){}else{b = b+3;}
47
48         init();
49     }
50
51
52
53 }
for(Account acc : accountList){
   num ++;
     if( num>a && num <= b ){
       accList.add(acc);
     }
     }详细解释一下,当a=0,b=3 时会把第一条到第三条数据存到accList中,num = 4 时便不会走if 里面的判断,虽然说循环还在继续可是accList中却不会加入新的数据。所以accList的值和a b 的值有关。
 1 <apex:page controller="pageJumpController">
 2     <script>
 3         window.onload = function(){
 4             // 当a== 0 的时候没有上一页,所以上一页的这个标签不显示。display="none"
 5             var previousPage = document.getElementById("{!$Component.pagingComponent.previousLink}");
 6             if("{!a}" == "0"){
 7                 previousPage.style.display="none";
 8             }
 9             // 当a== 9 的时候没有下一页,所以下一页的这个标签不显示。display="none"
10             var nextPage = document.getElementById("{!$Component.pagingComponent.nextLink}");
11             if( "{!b}" == "9"){
12                 nextPage.style.display="none";
13             }
14         }
15     </script>
16     <apex:form id="pagingComponent">
17         <table width="100%" id="table">
18             <tr>
19                 <td align="left">
20                     <apex:outputText style="color:red;font-weight:bold;" value="注意" />
21                 </td>
22                 <td style="color:silver;font-weight:bold;" align="left">
23                     <apex:outputText value="<"/>
24
25                     <apex:commandLink id="previousLink" style="color:silver;font-weight:bold;" value="上一页" action="{!beforePage}" />
26                     <apex:outputText value="    /    "/>
27
28                     <apex:commandLink id="nextLink" style="color:silver;font-weight:bold;" value="下一页 " action="{!afterPage}" />
29                 </td>
30             </tr>
31         </table>
32         <apex:pageBlock title="检索结果">
33             <apex:pageMessages />
34             <apex:pageBlockTable value="{!accList}" var="item" columns="3">
35                 <apex:column value="{!item.Id}"/>
36                 <apex:column value="{!item.Name}"/>
37                 <apex:column value="{!item.Phone}"/>
38
39             </apex:pageBlockTable>
40         </apex:pageBlock>
41     </apex:form>
42 </apex:page>
previousPage.style.display="none";这句话的意思是让这个标签不显示,当是第一页的时候就不现实《上一页》这个标签。

效果就是这个样子,不过这个是最简单的处理,我a,b 的值都是自己手工设置的,你可以用XX.size() 的方法获取,你所得到的list 的条数,再进行设置每页显示的条数。

当然实际生产中可能还会有复选框,按钮等其他组件,这个时候我推荐大家定义一个内部类,会方便很多。
 
 
时间: 2024-07-30 16:18:08

SFDC_08(翻页功能)的相关文章

Atitit.pagging &#160;翻页功能解决方案专题 与 目录大纲 v3 r44.docx

Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx 1.1. 翻页的重要意义1 1.2. Dep废弃文档   paip.js翻页分页pageing组件.txt1 1.3. ---原理1 1.4. -------lib1 1.1.   翻页的重要意义 技术上,商业上,翻页都是一个非常高频率的功能.. 提升高频功能的效率,可以大力提升项目整体效率.. 效率优化的重要原则就是高频功能效率优化 1.2. Dep废弃文档   paip.js翻页分页pageing组件

jsp实现上一页下一页翻页功能

前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需要设置一个pageIndex即可,然后每次加载页面时通过pageIndex去加载数据就行. 那么我们可以设置一个隐藏的input框,用于传递pageIndex给下个页面. 当我们点击上一页的时候,通过js方法改变pageIndex的值,再提交表单即可 二话不多说,看代码,代码里面写的还算比较清楚.

asp.net GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一.实现分页功能  GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二.实现翻页功能  如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid View的当前索引页正在更改事触发)这一事件 后台代码如下 /// <summary> /// 翻页操作 /// 在GridV

【tool】软件测试中翻页功能测试用例设计

翻页功能我们常碰到的一般有以下几个功能: 1.首页.上一页.下一页.尾页. 2.总页数,当前页数 3.指定跳转页 4.指定每页显示条数 当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件.本文暂且用以上四点来做为通用的用例来设计吧. 对于1翻页链接或按钮的测试,主要要检查的测试点有: 1.有无数据时控件的显示情况 2.在首页时,首页和上一页是否能点击 3.在尾页时,下一页和尾页是否能点击 4.在非首页和非尾页时,四个按钮功能是否正确 5.翻页后,列表中的记录是否仍按

翻页功能的测试用例

翻页功能我们常碰到的一般有以下几个功能:1.首页.上一页.下一页.尾页.2.总页数,当前页数3.指定跳转页4.指定每页显示条数当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件.本文暂且用以上四点来做为通用的用例来设计吧. 对于1翻页链接或按钮的测试,主要要检查的测试点有:1.有无数据时控件的显示情况2.在首页时,首页和上一页是否能点击3.在尾页时,下一页和尾页是否能点击4.在非首页和非尾页时,四个按钮功能是否正确5.翻页后,列表中的记录是否仍按照指定的排序列进行了

jquery.Table实现的翻页功能比较完整漂亮,本想扩展个模版DIV

jquery.dataTable实现的翻页功能比较完整漂亮,本想提取其的翻页部分,再结合模版DIV,bootstrop实现聊天记息的展示. jquery.Table 与table结合的较紧,不能在很下提取完成. 看了近一天的源码后,对API的结构,实现方式和思路有了基本的认识,但终因工作量太大放弃了提取的念头,时间所迫转用KenDo的翻页 不过这过程中,对其的API实现有了较深的认识. 这里摘录部分资料 以下是在进行dataTable绑定处理时候可以附加的参数: 属性名称 取值范围 解释 bAu

QTableView和QTableWidget翻页功能实现

主要使用QTableView和QTableWidget中的三个函数实现 QTableView::verticalScrollBar()->setSliderPosition():  //设置当前滑动条的位置 QTableView::verticalScrollBar()->maximum();             //滑动条能移动的最大位置 QTableView::verticalScrollBar()->value();                   //获得当前滑动条的位置

asp.net mvc 使用MvcPager实现翻页功能

方法-: 1,在Service中使用pagedlist实现翻页的方法 写法一: /// <summary> /// 政策法规的more列表翻页 /// </summary> /// <param name="page">分页的页码</param> /// <param name="sid">部门代码</param> /// <returns></returns> publ

Web测试——翻页功能测试用例

参考:https://wenku.baidu.com/view/e6462707de80d4d8d15a4f1e.html?rec_flag=default&mark_pay_doc=2&mark_rec_page=1&mark_rec_position=5&mark_rec=view_r_1&clear_uda_param=1 翻页功能常用到几个功能: 1.首页.上一页.下一页.尾页. 2.总页数.当前页数 3.指定跳转页 4.指定每页显示条数 1.翻页链接或按钮