Visualforce页面自定义过滤器

时间:2015-07-06 16:23:52

标签: salesforce apex-code visualforce

我有一个对象,让我们说'资源' 每个对象都有类型,让我们说'承包商' 每个“承包商”可能有子类型A,B,C,D

我有visualforce页面设置,将所有'Contractors'作为表格输出,但我也希望子类型下拉列表中包含A,B,C,D值以及过滤承包商的选项(让我们说,我选择'A' ',页面将刷新,所有带有子类型A的承包商都会出现。)

类型和子类型是相关列表(类型是子类型的控制字段)

我非常感谢你的帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这就是我开发它的方式。

您的Visual force页面:

 <apex:outputPanel id="PanelId">
    <apex:selectList size="1"  id="firstList" value="{!firstListVauleId}">              
        <apex:actionSupport event="onchange" action="{!UpdateSelectedFirstItem}" reRender="PanelId"/>
        <apex:selectOptions value="{!FirstListOptions}" />
      </apex:selectList>


      <apex:selectList size="1"  id="secondList" value="{!secondValueId}">              
        <apex:selectOptions value="{!SecondListOptions}" />
      </apex:selectList>

  </apex:outputPanel>

你的顶级课程:

public String firstListVauleId {get;set;}
public String secondListVauleId {get;set;}
public List<SelectOption> getfirstListOptions()
{
    List<SelectOption> options = new List<SelectOption>();
    // add items add needed. you can make database queries.
    return options;
}

public List<SelectOption> getsecondListOptions()
{
    List<SelectOption> options = new List<SelectOption>();
    // add options based on the first list selection. you can make database queries.
    return options;
}


public void UpdateSelectedFirstItem()
{
    // do your stuff if you need to do anything upon changing the first dropdown selected item. 
}