2017-06-01 9 views
0

次の問題があります。データテーブルからデータをアップロードします。プロセスが完了すると、間違っているレコードが表示されるp:ダイアログが表示されます。 p:commandbutton "ok"をクリックするとすべてのリストをクリアする必要があります(このプロセスでデバッグモードをチェックして、それをクリアします)が、 "sellosTable"というデータテーブルは更新されません。更新p:p:ダイアログによるデータテーブル

  <p:panel id="pnlMayor"> 
       <h:form id="frm" enctype="multipart/form-data"> 

        <p:dataTable id="sellosTable" value="#{cargarSellosBean.listadoSellos}" var="sellos" widgetVar="sellTable" paginator="true" rows="10" 
           paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 
           paginatorPosition="bottom" filteredValue="#{cargarSellosBean.filteredSellos}" 
           rowStyleClass="#{sellos.repeated.equals('repetido')?'rowbackgorundOnRepeated':''}" 
           rowsPerPageTemplate="5,10,15" lazy="false" 
           selection="#{cargarSellosBean.selectedSellos}" rowKey="#{sellos.secuencial}" style="margin-bottom:0"> 

         <p:column selectionMode="multiple" style="text-align: center"/> 

         <p:column headerText="Sellos" filterBy="#{sellos.inv_sello}" filterStyle="display:none" filterMatchMode="contains"> 
          <h:outputText value="#{sellos.inv_sello}"/> 
         </p:column> 
         <p:column headerText="N° Seguridad" filterBy="#{sellos.inv_seguridad}" filterStyle="display:none" filterMatchMode="contains"> 
          <h:outputText value="#{sellos.inv_seguridad}"/> 
         </p:column> 
         <p:column headerText="Indicador" filterBy="#{sellos.repeated}" filterStyle="display:none" filterMatchMode="contains"> 
          <h:outputText value="#{sellos.repeated}"/> 
         </p:column> 

        </p:dataTable> 

        <p:commandButton id="guardarSellos" style="position: relative; left: 450px; top: 5px; width: 20%" value="Guardar" 
            actionListener="#{cargarSellosBean.guardarListadoSellos()}" 
            oncomplete="PF('failBox').show();" update="failsDialog" 
            /> 


        <p:dialog id="basicDialog" resizable="false" header="Por favor espere...." widgetVar="dlg2" modal="true" closable="false" onShow="startProgressBar();">   
         <p:progressBar id="progressBarLoad" widgetVar="pbClient" style="width:300px" /> 
        </p:dialog> 

        <p:blockUI block="pnlMayor" trigger="guardarSellos" /> 
       </h:form> 

       <p:dialog id="failsDialog" resizable="false" header="Informe de Registros Fallidos" widgetVar="failBox" modal="true" 
          closable="true" closeOnEscape="true"> 
        <h:form id="frmDialog"> 
         <p:dataTable id="tblFailSellos" value="#{cargarSellosBean.failedSellosList}" var="failed" widgetVar="sellTable" paginator="true" rows="5" 
            paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 
            rowsPerPageTemplate="5,10,15" lazy="false" paginatorPosition="bottom" style="width:600px;height: 300px"> 
          <p:column headerText="Sello"> 
           <h:outputText value="#{failed.inv_sello}"/> 
          </p:column> 
          <p:column headerText="N° Seguridad"> 
           <h:outputText value="#{failed.inv_seguridad}"/> 
          </p:column> 
         </p:dataTable> 
         <p:commandButton style="position: relative; left: 450px; top: 5px; width: 20%" value="Ok!" 
             actionListener="#{cargarSellosBean.clearFailedList()}" 
             update="@all" 
             oncomplete="PF('failBox').hide();"> 
         </p:commandButton> 
        </h:form> 
       </p:dialog> 
      </p:panel> 

ご提案がありますか?

+0

のようなデータテーブルを更新し、明示的にみては? – Kukeltje

+0

@Kukeltje完了、少し説明が必要な場合は、私は部品を作ることができます。 – Jorge

+0

最初のデータテーブルから ''を削除すると動作しますか? – Kukeltje

答えて

0

だけで推測していますが、[MCVE]にコードを減らすことができ、この update="@([id$=sellosTable])"

+0

Trying、no luck。コードを貼り付けると、@allで更新を設定し、リストはクリアされますが、データテーブルは更新されません。 – Jorge