Visualforce添加过滤器,实现数据的筛选

参考原文: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>
</apex:pageBlock>
</apex:form>
</apex:page>

代码解释:

  1. <apex:pageBlock title="Contact List" id="contacts_list">设置一个Id,作为标识,因为这里用的是Ajax技术进行局部实时刷新。组件和reRender的组合效果是仅更新reRender属性中命名的页面部分。 因为您向<apex:pageBlock>中添加了id =“contacts_list”,所以操作完成后,只会更新<apex:pageBlock>,而不会重新加载整个页面。
  2. 当页面加载时,<apex:selectList>构建一个可用过滤器的菜单,通过从{! listViewOptions}表达式。 listViewOptions是标准列表控制器提供的属性。
    当您从菜单中选择新选项时,onchange事件由<apex:actionSupport>组件触发。
    当onchange激发时,页面通过将新项目提交到filterId属性,在<apex:selectList>中设置,提交回选择的新列表视图。
    当属性更新时,页面从服务器获取一个新的响应,在联系人变量中有一个新的匹配记录集合。
    但是因为<apex:actionSupport>指定仅重新渲染页面的一部分,所以使用Ajax异步JavaScript来更新页面,而不是通过完整页面重新加载。

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

  1. Visualforce入门第六篇_2017.3.1

    Visualforce实现过滤.数据列表显示.分页功能 可以参考salesforce官网开发文档:https://trailhead.salesforce.com/modules/visualforc ...

  2. Visualforce入门第三篇_2017.3.2

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

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

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

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

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

  5. Hadoop入门第五篇:Hive简介以及部署

    标签(空格分隔): Hadoop Hive hwi 1.Hive简介   之前我一直在Maxcompute上进行大数据开发,所以对数仓这块还算比较了解,在接受Hive的时候基本上没什么大的障碍.所以, ...

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

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

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

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

  8. java入门第五步之数据库项目实战【转】

    在真正进入代码编写前些进行一些工具的准备: 1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myecl ...

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

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

随机推荐

  1. HTTP学习笔记02-HTTP报文格式之概述

    HTTP学习笔记02-HTTP报文格式之概述 HTTP学习笔记02-HTTP报文格式之概述 HTTP报文格式 报文的语法 起始行 首部 实体部分 学习一个协议感觉最有意思的就是看包结构…在我看来这是唯 ...

  2. linux设备驱动归纳总结(六):1.中断的实现

    linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  3. 20145240 《Java程序设计》第二次实验报告

    20145240 <Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.12 实验 ...

  4. Android电容屏(二):驱动调试分析【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7833383 以goodix的gt8105为例 一.总体架构 硬件部分:先看一个总体的图 ...

  5. Go 字符串相关-标准库

    标准库中有四个包对字符串处理尤为重要: bytes strings strconv unicode strings包提供了许多如字符串的查询.替换.比较.截断.拆分和合并等功能. bytes包也提供了 ...

  6. linux shell执行SQL脚本

    #!/bin/sh user="user" pass="pass" sqlplus -S $user/$pass select 1 from dual; exi ...

  7. nodejs 中module.exports 和 exports 区别详细介绍

    你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块接下来介绍创建过程,感兴趣的朋友可以参考下 你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块.例 ...

  8. python练习_三级菜单

    python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...

  9. QT paintevent 事件, update()槽函数

    一界面重载函数 使用方法: 1在头文件里定义函数 protected: void paintEvent(QPaintEvent *event); 2 在CPP内直接重载 void ---------- ...

  10. Codeforces Round #374 (Div. 2) D. Maxim and Array 线段树+贪心

    D. Maxim and Array time limit per test 2 seconds memory limit per test 256 megabytes input standard ...