Visualforce 页面自定义过滤器

Visualforce page custom filter

我有一个对象,假设 'Resources' 每个对象都有类型,可以说 'Contractors' 每个 'Contractor' 可能有子类型 A、B、C、D

我的 visualforce 页面设置将所有 'Contractors' 输出为 table,但我还希望子类型下拉列表中包含 A、B、C、D 值以及用于过滤承包商的选项(比方说,我select 'A',页面将被刷新,所有子类型A的承包商都会出现)。

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

非常感谢你的帮助。

谢谢。

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

你的视觉力页面:

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

你的顶点class:

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. 
}