Visualforce实现过滤、数据列表显示、分页功能

可以参考salesforce官网开发文档:https://trailhead.salesforce.com/modules/visualforce_fundamentals/units/visualforce_standard_list_controllers

代码如下:

<apex:page sidebar="false" standardController="Contact" recordSetVar="contacts">
<apex:form>

<apex:pageBlock title="Contact List" id="contacts_list">

Filter:
<apex:selectList value="{!filterId}" size="1">
<apex:selectOptions value="{!listViewOptions}"/>
<apex:actionSupport event="onchange" reRender="contacts_list"/>
</apex:selectList>

<!--Contacts List-->
<apex:pageBlockTable value="{!contacts}" var="ct">
<apex:column value="{!ct.FirstName}"/>
<apex:column value="{!ct.LastName}"/>
<apex:column value="{!ct.Phone}"/>
<apex:column value="{!ct.Title}"/>
</apex:pageBlockTable>

<!--Pagination-->
<table style="width:100%">
<tr>
<td>
Page:
<apex:outputText value="{!PageNumber} of {!CEILING(ResultSize / PageSize)}"/>
</td>
<td align="center">
<apex:commandLink action="{!Previous}" value="<<Previous" rendered="{!HasPrevious}"/>
<apex:outputText style="color:#ccc;" value="<<Previous" rendered="{!NOT(HasPrevious)}"/>

&nbsp;&nbsp;

<apex:commandLink action="{!Next}" value="Next>>" rendered="{!HasNext}"/>
<apex:outputText style="color:#ccc;" value="Next>>" rendered="{!NOT(HasNext)}"/>
</td>
<td align="right">
Record per Page:
<apex:selectList value="{!PageSize}" size="1">
<apex:selectOption itemValue="5" itemLabel="5"/>
<apex:selectOption itemValue="20" itemLabel="20"/>
<apex:actionSupport event="onchange" reRender="contacts_list"/>
</apex:selectList>
</td>
</tr>

</table>

</apex:pageBlock>
</apex:form>
</apex:page>

代码解释:

1、在实现分页功能中,使用三个属性来指示多少页:PageNumber(当前页数) ResultSize(总的页面大小) PageSize(每一页的大小)

2、使用表达式{! HasPrevious}?这就是Visualforce如何使您能够有条件地显示组件,也就是说,这取决于布尔表达式的结果。这里,页面标记引用标准列表控制器HasPrevious和HasNext提供的布尔属性,它允许您知道给定方向上是否有更多记录。通过使用呈现的属性中的表达式,您可以在页面上显示或隐藏该组件的结果。这是前一个链接在您首次加载页面时显示为灰色,但如果您通过单击下一个链接向前移动,则会变为活动状态。

实现的效果图:

Visualforce入门第六篇_2017.3.1的更多相关文章

  1. Visualforce入门第五篇_2017.3.1

    Visualforce添加过滤器,实现数据的筛选 参考原文:https://trailhead.salesforce.com/modules/visualforce_fundamentals/unit ...

  2. Visualforce入门第三篇_2017.3.2

    Visualforce实现显示Record List(列表) 详细见链接:https://trailhead.salesforce.com/modules/visualforce_fundamenta ...

  3. Android JNI入门第六篇——C调用Java

    本篇将介绍在JNI编程中C调用Java实现. 源码下载地址:http://download.csdn.net/detail/xyz_lmn/4868265 关键代码: java: public cla ...

  4. # hadoop入门第六篇:Hive实例

    前言   前面已经讲了如何部署在hadoop集群上部署hive,现在我们就做一个很小的实例去熟悉HIVE QL.使用的数据是视频播放数据包括视频编码,播放设备编码,用户账号编码等,我们在这个数据基础上 ...

  5. Android入门第六篇之ListView (一)

    本文来自http://blog.csdn.net/hellogv/ ListView是一个经经常使用到的控件,ListView里面的每一个子项Item能够使一个字符串,也能够是一个组合控件.先说说Li ...

  6. JavaMail入门第五篇 解析邮件

    上一篇JavaMail入门第四篇 接收邮件中,控制台打印出的内容,我们无法阅读,其实,让我们自己来解析一封复杂的邮件是很不容易的,邮件里面格式.规范复杂得很.不过,我们所用的浏览器内置了解析各种数据类 ...

  7. JavaMail入门第四篇 接收邮件

    上一篇JavaMail入门第三篇 发送邮件中,我们学会了如何用JavaMail API提供的Transport类发送邮件,同样,JavaMail API中也提供了一些专门的类来对邮件的接收进行相关的操 ...

  8. JavaMail入门第三篇 发送邮件

    JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...

  9. Android JNI入门第五篇——基本数据类型使用

    前面讲到了java和native数据类型,这里就开始做一下使用: 第一步:新建工程 第二部:书写 java方法: public class NativeMethod { static { System ...

随机推荐

  1. HTTP学习笔记05-首部

    首部和方法配合工作共同决定了客户端和服务器能做些什么事情. 首部可以出现在请求和响应报文中,大致来分的话,可以分为那么5种: 通用首部: request和response报文都可以使用的首部. 比如 ...

  2. jsp中的basePath和path(绝对路径 相对路径)

    在JSP中的如果使用 "相对路径" 则有 可能会出现问题. 因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. ...

  3. Eclipse4.2安装样式插件

    1.插件地址 http://eclipse-color-theme.github.com/update 点击Eclipse菜单 Help>>Install New Software... ...

  4. Centos6.5安装Mysql5.6.10

    1. 先卸载掉老版本的mysql(linux严格区分大小写,查找的时候加上-i参数,和mysql相关的全部要卸) [root@liuchao ~]# rpm -qa | grep -i mysqlMy ...

  5. 元素 "context:component-scan" 的前缀 "context" 未绑定的解决方案

    在动态web项目(Dynamic Web Project)中,使用SpringMVC框架,新建Spring的配置文件springmvc.xml,添加扫描控制器 <context:componen ...

  6. linux基础(9)-获取时间

    获取今天日期 date +%Y-%m-%d date +%y-%m-%d date  +%F   获取昨天日期 date -d yesterday +%F date -d -1day +%F     ...

  7. 先有Class还是先有Object?

    先有Class还是先有Object? Java的对象模型中: 所有的类都是Class类的实例,Object是类,那么Object也是Class类的一个实例. 所有的类都最终继承自Object类,Cla ...

  8. SBT搭建Spark

    http://www.cnblogs.com/yongjian/p/6211007.html http://www.aboutyun.com/thread-8587-1-1.html http://b ...

  9. SpringBoot-新建项目

    在开发SpringBoot之前,先下载STS开发工具,当然也可以用myeclipse等工具. STS官方下载地址:https://spring.io/tools/sts 下载安装完成后:File--& ...

  10. shell学习之杂项

    ? 表示任意一个字符. > 重写 >> 追加 &> 将错误信息一并写入 Ctrl+Z 暂停 fg 恢复 jobs 查看所有已暂停任务 bg 丢到后台 env 查看系统环 ...