Salesforce Visualforce页面自定义筛选器

Salesforce Visualforce页面自定义筛选器,salesforce,apex-code,visualforce,Salesforce,Apex Code,Visualforce,我有一个对象,比如说“资源” 每个对象都有类型,比如说“Contractors” 每个“承包商”可能有子类型A、B、C、D 我有visualforce页面设置,将所有“Contractors”输出为一个表,但我也希望有子类型下拉列表,其中包含a、B、C、D值,并具有筛选Contractors的选项(比如,我选择“a”,页面将刷新,并且所有具有子类型a的Contractors都会出现) 类型和子类型是相关列表(类型是子类型的控制字段) 我非常感谢你的帮助 谢谢。我也有类似的问题,这就是我开发它的方

我有一个对象,比如说“资源” 每个对象都有类型,比如说“Contractors” 每个“承包商”可能有子类型A、B、C、D

我有visualforce页面设置,将所有“Contractors”输出为一个表,但我也希望有子类型下拉列表,其中包含a、B、C、D值,并具有筛选Contractors的选项(比如,我选择“a”,页面将刷新,并且所有具有子类型a的Contractors都会出现)

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

我非常感谢你的帮助


谢谢。

我也有类似的问题,这就是我开发它的方法

您的可视力页面:

 <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. 
}
公共字符串firstListVauleId{get;set;}
公共字符串secondListVauleId{get;set;}
公共列表getfirstListOptions()
{
列表选项=新列表();
//添加所需的项目。您可以进行数据库查询。
返回选项;
}
公共列表getsecondListOptions()
{
列表选项=新列表();
//根据第一个列表选择添加选项。您可以进行数据库查询。
返回选项;
}
public void UpdateSelectedFirstItem()
{
//如果在更改第一个下拉选择项时需要执行任何操作,请执行您的操作。
}

谢谢您的建议。@user2257338如果这是您想要的,请将其标记为答案。谢谢,很好。另外,我也找到了这个解决方案