• 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>

    代码解释:

    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来更新页面,而不是通过完整页面重新加载。

  • 相关阅读:
    转 无障碍阅读 role aria-*
    (转)edm注意事项
    Spring IOC机制之使用注解配置bean
    Spring IOC机制使用SpEL
    使用Spring IOC容器引用外部属性文件
    如何将属性文件中的值保存到类中
    基于XML的类的属性的装配
    Java——事务
    Eclipse中使用Spring IOC容器的具体方法
    Java之批处理的实现
  • 原文地址:https://www.cnblogs.com/android-it/p/6490648.html
Copyright © 2020-2023  润新知