首页 > 解决方案 > 如何检查primefaces 5.2表?

问题描述

我在“p:dataTable”的列中有一个复选框,并且我有一个按钮,只有在选中一行时才想绘制该按钮。(我不使用 selectionMode = "multiple",因为不是我所有的行都有复选框,只有一些)

// 列表

 <p:column>
            <p:selectBooleanCheckbox
                rendered="#{item.esBorrable}"
                valueChangeListener="#{candidatoController.checkCandidatoGdprBorrable}"
                value="#{item.borrar}">
                <p:ajax
                    event="change"
                    process="@form"
                    update="@(.button-asociar-chequeados)" />
            </p:selectBooleanCheckbox>
        </p:column>

// 控制器

public void checkCandidatoGdprBorrable(ValueChangeEvent event) {
    listCandidatoGdprDto.setHayCandidatosBorrables(false);
    @SuppressWarnings("unchecked")
    List<CandidatoGdpr> candidatos = (List<CandidatoGdpr>) listCandidatoGdprDto.getDataModel().getWrappedData();
    for (CandidatoGdpr candidatoGdpr : candidatos) {
        if (candidatoGdpr.getBorrar()) {
            listCandidatoGdprDto.setHayCandidatosBorrables(true);
        }
    }
}

// 按钮

<p:outputPanel styleClass="button-asociar-chequeados">
<p:commandButton
                value="Borrar chequeados"
                icon="aba-icon ss_arrow_in"
                rendered="#{listCandidatoGdprDto.hayCandidatosBorrables}"
                onclick="PF('deleteCandidatoGdprConfirmDialogWidget').show();"
                title="Borrar chequeados a la petición" />

代码运行良好,但它需要一点延迟,直到我选择两行中的两个 chech,没有 moe 绘制按钮。

标签: primefaces

解决方案


推荐阅读