0

カスタム コンテンツを使用する場合、PrimeFaces (3.3) の SelectOneMenu の項目を無効にすることはできないようです ( http://www.primefaces.org/showcase-labs/ui/selectOneMenu.jsfに示すように)。

テストケースは単純です。次のようにしてください。

<h:form>
    <p:selectOneMenu value="#{testBean.selected}">
        <f:selectItems value="#{testBean.options}" var="t"
            itemLabel="#{t.label}" itemValue="#{t}"
            itemDisabled="#{t.value % 2 == 0 ? 'true' : 'false'}" />
    </p:selectOneMenu>

    <p:selectOneMenu value="#{testBean.selected}" var="x">
        <f:selectItems value="#{testBean.options}" var="t"
            itemLabel="#{t.label}" itemValue="#{t}"
            itemDisabled="#{t.value % 2 == 0 ? 'true' : 'false'}" />
        <p:column>
            #{x.label} -- #{x.label}
        </p:column>
    </p:selectOneMenu>
</h:form>

および次の Java ファイル:

豆:

@Named
public class TestBean {

private TestObject  selected;
// getter/setter

public List<TestObject> getOptions() {
    return Arrays.asList(new TestObject("1"), new TestObject("2")); }
}

物体:

public class TestObject {
    private Integer value;
    // getter/setter

    public TestObject() {}
    public TestObject(String s) {
        this.setLabel(s);
    }
    public String getLabel() {return "label: " + value;}
    public void setLabel(String l) {this.value = new Integer(l);}
}

最初のドロップダウンは正常に機能しますが、2 番目のドロップダウンは機能しません。それを解決する方法について何か考えはありますか?

4

0 に答える 0