Combobox 在SelectOneChoice中禁用selectItem
嘿,伙计们,我正在尝试一些全新的东西,用ADF实现GUI。这是我的第一次ADF体验,我真的不知道如何做这样的事情: 我有几个SelectOneChoice让我们称它们为组合框,从1到6,有一些selectItems让我们称它们为选项:空白、慢速、中等、快速 现在,我必须确保如果我在组合框1上选择-Blank。所有其他选项都有4个可用选项 然后我将进入组合框2-中等。在本例中,从3到6的combobox的值不能快,因为它不能比上面的combobox快 这同样适用于所有其他组合框,如果选择了慢速,则下面的所有组合必须只有慢速或空白选项 我该怎么做 以下是我尝试过的:Combobox 在SelectOneChoice中禁用selectItem,combobox,oracle-adf,Combobox,Oracle Adf,嘿,伙计们,我正在尝试一些全新的东西,用ADF实现GUI。这是我的第一次ADF体验,我真的不知道如何做这样的事情: 我有几个SelectOneChoice让我们称它们为组合框,从1到6,有一些selectItems让我们称它们为选项:空白、慢速、中等、快速 现在,我必须确保如果我在组合框1上选择-Blank。所有其他选项都有4个可用选项 然后我将进入组合框2-中等。在本例中,从3到6的combobox的值不能快,因为它不能比上面的combobox快 这同样适用于所有其他组合框,如果选择了慢速,则
af:selectOneChoice id="soc2"
binding="#{backingBeanScope.backing_Setup.soc2}"
autoSubmit="true"
valueChangeListener="#{backingBeanScope.backing_Setup.disableLowerLevelsA}">
<af:selectItem
id="si48"
binding="#{backingBeanScope.backing_Setup.si48}"/>
<af:selectItem label="Slow"
value="slow" id="si3" binding="#{backingBeanScope.backing_Setup.si3}"/> <af:selectItem label="Medium" value="medium" id="si5" binding="#{backingBeanScope.backing_Setup.si5}"/> <af:selectItem label="Fast" value="fast" id="si4"
binding="#{backingBeanScope.backing_Setup.si4}"/>
</af:selectOneChoice>
<af:selectOneChoice id="soc5"
binding="#{backingBeanScope.backing_Setup.soc5}"
partialTriggers="soc2">
<af:selectItem id="si49" binding="#{backingBeanScope.backing_Setup.si49}"/> <af:selectItem label="Slow" value="slow" id="si12" binding="#{backingBeanScope.backing_Setup.si12}"/> <af:selectItem label="Medium" value="medium" id="si14"
binding="#{backingBeanScope.backing_Setup.si14}"/> <af:selectItem label="Fast" value="fast" id="si13" binding="#{backingBeanScope.backing_Setup.si13}"/> </af:selectOneChoice>
等等。。。我已经将触发器和侦听器添加到各自的组合中。但是,当我更改第一个组合框(即:Medium)的内容时,另一个组合框将保持所有选项可见。
如何解决此问题?在第一个SelectOneChoice的valueChangeListener中,以编程方式获取第二个SelectOneChoice的Viewcriteria,并确保将第一个SelectOneChoice的ID列not selected值作为绑定变量发送。 还设置viewcriteria以接受此绑定变量,并执行小于或等于的查询,假设ID按升序排序
//To get VC and execute it
ViewObjectImpl vo = getEmployeesView();
ViewCriteria vc = vo.getViewCriteria("findEmployeeVC");
vo.applyViewCriteria(vc);
vo.setNamedWhereClauseParam("pEmployeeId", employeeId);
vo.executeQuery();
在选择第一个SelectOneChoice后,不要忘记PPR第二个SelectOneChoice以刷新LOV