使用primefaces在jsf中动态启用/禁止复选框

我有一个可从数据库动态生成数据的数据表。 用户可以选择/取消选择行,但只能选择那些未设置为必须从数据库中选择的行。

我的豆

        public boolean isDisabled () {
    if (evState == EvaluationState.MUST_EVALUATE) {
        return true;
    } else {
        return false;
    }
}

public boolean isChecked() {
    if (evState == EvaluationState.EVALUATE
            || evState == EvaluationState.MUST_EVALUATE) {
        return true;
    } else {
        return false;

    }
}

和我的xhtmlCode:

<p:selectBooleanCheckbox value =“#{myBean.checked}”disabled =“#{myBean.disabled}”/>

它目前不像我想要的那样工作。 所有复选框都被选中。 在编译时,我不知道哪个复选框会启用或不启用,这就是为什么我禁用了该方法。

如果有人有解决方案如何动态设置禁用,我会非常高兴。


你的模型应该包含2个属性来处理这些操作,而不是你的控制器。

//defining the model
public class Data {
    private String name;
    //you get the idea...
    private boolean checked;
    private boolean disabled;
    //getters and setters...
}

//defining the controller
@ViewScope
public class MyBean {
    private List<Data> lstData;

    public MyBean() {
        //initialize data...
    }

    //getter and setter
}

风景

<h:dataTable value="#{myBean.lstData}" var="data">
    <h:column>
        <h:outputText value="#{data.name}" />
    </h:column>
    <h:column>
        <p:selectBooleanCheckbox value="#{data.checked}" disabled = "#{data.disabled }"/>
    </h:column>
</h>dataTable>

这样,每一行都有自己的检查和禁用数据值。

链接地址: http://www.djcxy.com/p/68541.html

上一篇: Dynamicly enable/diable checkboxes in jsf with primefaces

下一篇: Performing user authentication in Java EE / JSF using j