3

セル内編集でprimefaces 3.4.2データテーブルを使用しています。edit イベント メソッドが呼び出された後、データ テーブル自体を更新したいと思います。私はこのようにしました:

<p:dataTable id="timeTable" var="log" value="#{reviewTimesheetBean.lazyModel}" paginator="true"
                            paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="15,30,45,60"
                            paginatorPosition="bottom" rows="2" currentPageReportTemplate="{currentPage} de {totalPages}" lazy="true" editable="true" emptyMessage="#{label['empty.message']}">

  <p:ajax event="rowEdit" listener="#{reviewTimesheetBean.onEdit}" update="timeTable" />
   <p:ajax event="rowEditCancel" listener="#{reviewTimesheetBean.onCancel}" update="timeTable" />
....
</p:datatable>

ただし、rowEdit イベントの後に load メソッドが呼び出されることはありません。セレクターも使用してみましたが、どちらも機能しませんでした。この方法でデータテーブルを更新できませんか?

ありがとう

ケリー

4

1 に答える 1

0

remoteCommand を試しましたか?

<p:remoteCommand name="onCellEdit" action="#{bean.init}" update="formId" ignoreAutoUpdate="true" />

そして、あなたのデータテーブルで:

<p:ajax event="cellEdit" oncomplete="onCellEdit()" listener="#{bean.onCellEdit}" />

PS。remoteCommand はデータテーブルのすぐ上にあります...それが影響を与えるかどうかはわかりません。

onComplete 値は、リモート コマンドの名前と一致する必要があることに注意してください。

于 2014-02-17T16:00:17.660 に答える