单击带有primefaces的按钮后更新数据表

时间:2018-04-06 10:22:25

标签: primefaces datatable confirm-dialog

我有一个dataTable,保存按钮,表单。 当我单击保存按钮时,将显示一个确认对话框,其中包含两个选项:“是”或“否”。 我的问题是当我点击“是”确认保存我的数据时没有更新。

我想在不刷新页面的情况下在我的DataTable中显示数据。

<p:commandButton value="#{msg['Save']}" icon="ui-icon-disk" 
                                     actionListener="#{cashMvtView.saveCashMvt()}">
                        <p:confirm header="Confirmation" message="Voulez-vous enregistrer ces informations ?" icon="ui-icon-alert"  />                            
                    </p:commandButton>
                    <p:confirmDialog global="true" showEffect="fade" hideEffect="fade" >
                        <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update="form2" >

                        </p:commandButton>         
                        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                    </p:confirmDialog>

数据表代码:

<h:form id="form2">
            <p:accordionPanel activeIndex="0">
                <p:tab title="Recherche" id="tabRech">
                    <p:dataTable var="cashMvt" value="#{cashMvtView.listeFilteredCashMvt}"  
                                 selectionMode="single" filteredValue="#{cashMvtView.listeFilteredCashMvt}"
                                 selection="#{cashMvtView.selectedCashMvt}" 
                                 rowKey="#{cashMvt.id}"  tableStyle="width:auto"
                                 paginator="true" widgetVar="tabRecherche" id="tabRecherche"
                                 paginatorPosition="bottom"  rows="14"
                                 paginatorTemplate="{Exporters} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} 
                                 {RowsPerPageDropdown} {JumpToPageDropdown} {Controle}" 
                                 >
                        <p:ajax event="rowSelect"  listener="#{cashMvtView.onRowSelect}"  update="form form2" id="ajaxRS" />
                        <f:facet name="{Controle}" id="facetControle"> 
                            <p:commandButton id="toggler" type="button" value="Column"  icon="ui-icon-calculator" style="float:right; width: 150px;"/>
                            <p:columnToggler datasource="tabRecherche" trigger="toggler" id="ccc" />
                        </f:facet> 
                        <p:column style="white-space: nowrap" headerText="#{msg['NumMvt']}" sortBy="#{cashMvt.id}" ><h:outputText value="#{cashMvt.id}" /> </p:column>
                        <p:column style="white-space: nowrap" headerText="#{msg['CatMvt']}" sortBy="#{cashMvt.category}" ><h:outputText value="#{cashMvt.category}" /> </p:column>
                        <p:column style="white-space: nowrap" headerText="#{msg['mvtReference']}" sortBy="#{cashMvt.mvtReference}" ><h:outputText value="#{cashMvt.mvtReference}" /> </p:column>
                        <p:column style="white-space: nowrap" headerText="#{msg['Status']}" sortBy="#{cashMvt.stat}" ><h:outputText value="#{cashMvt.stat}" /> </p:column>
                        <p:column style="white-space: nowrap" headerText="#{msg['mvtCode']}" sortBy="#{cashMvt.mvtCode}" ><h:outputText value="#{cashMvt.mvtCode}" /> </p:column>

1 个答案:

答案 0 :(得分:0)

您应该将update="tabRecherche"添加到<p:commandButton代码:

<p:commandButton value="#{msg['Save']}"
                 icon="ui-icon-disk" 
                 actionListener="#{cashMvtView.saveCashMvt()}"
                 update="tabRecherche"
                 >
     <p:confirm header="Confirmation" 
                message="Voulez-vous enregistrer ces informations ?" 
                icon="ui-icon-alert"  />                            
</p:commandButton>