Jsf 2 primefaces p:ajax更新不起作用

Jsf 2 primefaces p:ajax更新不起作用,jsf-2,primefaces,Jsf 2,Primefaces,我使用primefaces 3.4.2 datatable进行单元格内编辑。我想在调用edit事件方法之后,更新datatable本身。我是这样做的: <p:dataTable id="timeTable" var="log" value="#{reviewTimesheetBean.lazyModel}" paginator="true" paginatorTemplate="{FirstPageLink} {PreviousPag

我使用primefaces 3.4.2 datatable进行单元格内编辑。我想在调用edit事件方法之后,更新datatable本身。我是这样做的:

<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方法。我也尝试过使用选择器,但也不起作用。数据表不能这样更新吗

谢谢


Kelly你试过remoteCommand吗

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

然后在数据表中:

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

另外,remoteCommand就在datatable的上方。。。不确定这是否有任何影响


注意:onComplete值必须与远程命令的名称匹配。

这在PrimeFaces 3.3及更早版本中经常失败。你是否绝对肯定你正在运行3.4.2?也许有回归。是的,我确信我正在使用这个版本。。。我将尝试一个比刚才使用primefaces 3.2更旧的版本,同样的事情也会发生……我不是说旧版本会起作用。我刚才说,这个问题在3.3之前的PrimeFaces版本中确实会出现,之后它就被修复了。但是,毕竟,此修复只应用于输入和命令组件操作上的ajax操作,而不应用于行编辑器操作。我确实可以重现你的问题。使用
@form
也不会产生期望的结果。很抱歉。。。在重新阅读你写的文章后,我意识到你的意思。