使用带有自定义内容/ p:列的PrimeFaces SelectOneMenu禁用项目

时间:2012-05-30 13:55:06

标签: jsf jsf-2 primefaces selectonemenu

在使用自定义内容时,似乎无法从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);}
}

第一个下拉列表工作正常,第二个下拉列表没有。关于如何解决这个问题的任何想法?

0 个答案:

没有答案