如何添加&#34;全部检查&#34;复选框到<h:datatable> <p:selectbooleancheckbox> </p:selectbooleancheckbox> </h:datatable>

时间:2015-02-02 19:40:45

标签: jsf primefaces datatable selectbooleancheckbox

我正在尝试制作表单,而在表单的某些部分我有复选框。我从java列表中获取值并将它们直接设置为数据表。我的数据表看起来像:

  • TV
  • 互联网
  • 杂志
  • 所有

到目前为止,它运作良好。我想在这个方框中添加一些规则,例如如果用户在“全部”框上打勾,其他方框也会被勾选,但如果用户删除除“全部”框之外的其中一个方框,则“全部”的勾选将被删除。我一直在寻找这个2天,但我没有找到任何解决方案。如果你能描述一下你设法解决这个问题的方法,我将不胜感激。 我正在使用Jsf 2.1.19和PrimeFaces 3.5

我的xhtml:

<div class="control-group">
<label class="control-label"><h:outputText value="Şu Kategorilerde Arama Yap"></h:outputText></label>
<div class="controls">
    <h:panelGroup id="categorySelectionPanel">
        <h:dataTable id="tblCategories" value="#{projectBean.categoryList}" var="category">
            <h:column>
                <h:outputText value="#{category.name}" style="margin-right:10px;" />
            </h:column>
            <h:column>
                <p:selectBooleanCheckbox value="#{category.checked}" />
            </h:column>
        </h:dataTable>
    </h:panelGroup>
</div>

我的java课程:

public class CategoryData {

    private String name;
    private boolean checked;

    public CategoryData() {
    }

    public CategoryData(String name, boolean checked) {
        this.name = name;
        this.checked = checked;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public boolean isChecked() {
        return checked;
    }
    public void setChecked(boolean checked) {
        this.checked = checked;
    }
}

0 个答案:

没有答案