Primefaces 当其他commandbutton具有oncomplete=”时,datatable不会从commandbutton更新;tb1.clearfilter();

Primefaces 当其他commandbutton具有oncomplete=”时,datatable不会从commandbutton更新;tb1.clearfilter();,primefaces,Primefaces,commandbutton2 clic时datatable不更新commandbutton1具有oncomplete=“tb1.clearfilter(),commandbutton1从backingbean“firmarFacturaMB”重新加载datatable列表,并调用datatable tb1的客户端方法clearfilter, 当我选择一个项目并设置一个requires值时,必须重新加载datatable,而不必重新加载所选项目,但不会发生,只需使用从未按下的commandButt

commandbutton2 clic时datatable不更新commandbutton1具有oncomplete=“tb1.clearfilter(),commandbutton1从backingbean“firmarFacturaMB”重新加载datatable列表,并调用datatable tb1的客户端方法clearfilter, 当我选择一个项目并设置一个requires值时,必须重新加载datatable,而不必重新加载所选项目,但不会发生,只需使用从未按下的commandButton1。这是代码:

<h:form id="frm1">
        <p:growl id="growl" sticky="true" showDetail="true" />
        <p:panel header="Firmar facturas" style="border-width: 0px"
            id="panel1">
            <p:commandButton oncomplete="tb1.clearfilter() value="
                Recargar" update=":frm1:growl :frm1:panel1" icon="ui-icon-refresh"
                actionListener="#{firmarFacturaMB.buscarFacturasSinFirmar}" />

            <p:dataTable emptyMessage="No se encontraron elementos"
                widgetVar="tb1" id="tablaFact" var="item"
                selection="#{firmarFacturaMB.selectedFactura}"
                selectionMode="single" paginator="true" rows="20"
                rowKey="#{item.idFactura}"
                value="#{firmarFacturaMB.facturaUtilList}"
                filteredValue="#{firmarFacturaMB.filterFacturaUtilList}">

                <p:ajax event="rowSelect"
                    update=":frm1:growl :frm1:panelDetallesServicio"
                    oncomplete="servDialog.show()"
                    listener="#{firmarFacturaMB.buscarDetallesFactura}" />
                <p:ajax event="rowUnselect" update=":frm1:growl" />

                <f:facet name="header">
                    <h:outputText value="Listado de facturas sin firmar " />
                </f:facet>

                <p:column style="width:10%" sortBy="#{item.noFactura}">
                    <f:facet name="header">
                        <h:outputText value="Nro" />
                    </f:facet>
                    <h:outputText value="#{item.noFactura}" />
                </p:column>
            </p:dataTable>
            <p:dialog id="dialog" header="Detalles de la factura"
                widgetVar="servDialog" resizable="false">
                <p:panel id="panelDetallesServicio" style="border: 0px;">
                    <p:panelGrid columns="2">
                        <h:outputText value="Seleccione la fecha de firma: *"
                            style="font-size: 12px" />
                        <p:calendar value="#{firmarFacturaMB.fechaFirma}"
                            id="popupButtonCal1" showOn="button" required="true" locale="es"
                            effect="show" showButtonPanel="true" navigator="true" />
                        <p:commandButton value="Firmar" update=":frm1:growl :frm1"
                            actionListener="#{firmarFacturaMB.firmarFactura}"
                            icon="ui-icon-pencil" />
                    </p:panelGrid>
                </p:panel>
            </p:dialog>
        </p:panel>

</h:form>


您的
commandbutton2
在哪里?当我选择一个项目并设置一个requires值时,我也没有得到
。必须在没有选定项目的情况下重新加载数据表,但它没有发生。只操作commandButton1从未按下过的按钮。请澄清您的问题。commandButton1是第一个按钮,commandbutton2在对话框内。当按下commandbutton1可重新加载数据表,但按下comandbutton2后,请不要刷新数据表。如果我从commandbutton1中删除oncomplete=“tb1.clearfilter(),则一切正常。