如何在一张primefaces 5.2表中进行检查?

时间:2019-07-16 13:05:29

标签: primefaces

我在“ 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" />

代码运行得很好,但是会带来一点点延迟,直到我选择两行两行,没有按钮可以绘制。

0 个答案:

没有答案