primefaces p:ajax更新不起作用

时间:2012-11-19 12:54:19

标签: jsf-2 primefaces

我正在使用带有单元内编辑的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方法。我也试过使用选择器,但它也没有用。数据表不能以这种方式更新吗?

由于

凯利

1 个答案:

答案 0 :(得分: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值必须与远程命令的名称匹配。