Ajax 过滤后从模态更新数据表
Ajax update of datatable from a modal after filtering
我的问题与此非常相似:
Ajax update doesn't work, when using filter on datatable (JSF, Primefaces).
我有一个 dataTable
,table 中的每个 entry/row 都有一个 "Open" 按钮(一个 commandButton
),点击后, dialog
将打开。我在对话框中有一个可以更新和保存的表单。保存更改后,我将返回 dataTable
关闭我所在的对话框,更新 table(其 "Open" 被点击打开 dialog
).
如果我保存 dialog
的结果并使用 update
属性更新 table 条目上的保存结果,它工作正常。但是,如果首先过滤 dataTable
然后打开 dialog
,那么 update
不会导致更新 table 条目,直到我真正 refresh/reload页面。
oncomplete="PF(':parentForm:dataTableVar').filter()"
和
oncomplete="PF(':parentForm:dataTableVar').clearFilters()"
我引用的另一个问题中推荐的解决方案似乎对我的情况没有任何影响。
有什么建议吗?
我使用 JSF v2.1.19 和 PrimeFaces v5.1。
需要在dataTable的filteredValue
属性中标记列表。
例如:<p:dataTable filteredValue="#{bean.anotherListWithTheSameType}" />
在dialog中,需要filteredValue。
来自这里:http://www.primefaces.org/docs/vdl/4.0/primefaces-p/dataTable.html
用 id
代替 widgetVar
是我的错误。这个:
oncomplete="PF('myTableWidget').filter()"
如果有问题的 dataTable
看起来像 就可以正常工作:
<p:dataTable id="myTable" widgetVar="myTableWidget"...
我这样试错了:
oncomplete="PF('myTable').filter()"
我的问题与此非常相似: Ajax update doesn't work, when using filter on datatable (JSF, Primefaces).
我有一个 dataTable
,table 中的每个 entry/row 都有一个 "Open" 按钮(一个 commandButton
),点击后, dialog
将打开。我在对话框中有一个可以更新和保存的表单。保存更改后,我将返回 dataTable
关闭我所在的对话框,更新 table(其 "Open" 被点击打开 dialog
).
如果我保存 dialog
的结果并使用 update
属性更新 table 条目上的保存结果,它工作正常。但是,如果首先过滤 dataTable
然后打开 dialog
,那么 update
不会导致更新 table 条目,直到我真正 refresh/reload页面。
oncomplete="PF(':parentForm:dataTableVar').filter()"
和
oncomplete="PF(':parentForm:dataTableVar').clearFilters()"
我引用的另一个问题中推荐的解决方案似乎对我的情况没有任何影响。
有什么建议吗?
我使用 JSF v2.1.19 和 PrimeFaces v5.1。
需要在dataTable的filteredValue
属性中标记列表。
例如:<p:dataTable filteredValue="#{bean.anotherListWithTheSameType}" />
在dialog中,需要filteredValue。 来自这里:http://www.primefaces.org/docs/vdl/4.0/primefaces-p/dataTable.html
用 id
代替 widgetVar
是我的错误。这个:
oncomplete="PF('myTableWidget').filter()"
如果有问题的 dataTable
看起来像 就可以正常工作:
<p:dataTable id="myTable" widgetVar="myTableWidget"...
我这样试错了:
oncomplete="PF('myTable').filter()"