Visualforce入门第五篇_2017.3.1
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>
代码解释:
- <apex:pageBlock title="Contact List" id="contacts_list">设置一个Id,作为标识,因为这里用的是Ajax技术进行局部实时刷新。组件和reRender的组合效果是仅更新reRender属性中命名的页面部分。 因为您向<apex:pageBlock>中添加了id =“contacts_list”,所以操作完成后,只会更新<apex:pageBlock>,而不会重新加载整个页面。
当页面加载时,<apex:selectList>构建一个可用过滤器的菜单,通过从{! listViewOptions}表达式。 listViewOptions是标准列表控制器提供的属性。
当您从菜单中选择新选项时,onchange事件由<apex:actionSupport>组件触发。
当onchange激发时,页面通过将新项目提交到filterId属性,在<apex:selectList>中设置,提交回选择的新列表视图。
当属性更新时,页面从服务器获取一个新的响应,在联系人变量中有一个新的匹配记录集合。
但是因为<apex:actionSupport>指定仅重新渲染页面的一部分,所以使用Ajax异步JavaScript来更新页面,而不是通过完整页面重新加载。
最新文章
- Rehosting the Workflow Designer
- 读取配置文件 PropertyPlaceholderConfigurer 的配置与使用
- linux gcc头文件搜索路径
- Azure 云助手正式发布
- HDU 1029 Ignatius and the Princess IV --- 水题
- 【中国互联网不眠夜】Struts2漏洞百出,OneRASP鼎力相助
- C++11 能好怎?
- linux命令 -->; cd命令
- [Javascript] Array methods in depth - filter
- grunt之入门实践
- jQuery UI 之 Bootstrap 快速入门
- NOIP2012模拟试题【圆圈舞蹈( circle)
- postfix日志分析pflogsumm
- 从事三年java开发后, 我打算转人工智能
- Cordova配置与WebApp混合开发环境配置
- JavaScript视频分享,学无止境。
- JavaScript高级程序设计学习(六)之设计模式
- Effective Java 第三版——53. 明智而审慎地使用可变参数
- Failed to read schema document &#39;http://code.alibabatech.com/schema/dubbo/dubbo.xsd&#39;问题解决方法
- Java操作文件Util