【发布时间】:2013-12-03 02:38:50
【问题描述】:
我使用DefaultDataTable 和FilterToolbar。除此之外,我在底部添加了我自己的工具栏,它计算给定数据提供者的总和。
当我通过在文本字段中输入文本来过滤数据表时,数据本身会正确更新,但不会刷新我的工具栏。
如何强制刷新?
【问题讨论】:
我使用DefaultDataTable 和FilterToolbar。除此之外,我在底部添加了我自己的工具栏,它计算给定数据提供者的总和。
当我通过在文本字段中输入文本来过滤数据表时,数据本身会正确更新,但不会刷新我的工具栏。
如何强制刷新?
【问题讨论】:
我不得不承认我对FilterToolbar API 不太熟悉。但一般来说,您可以通过将组件添加到 AjaxRequestTarget 来刷新组件。每当用户触发一些 ajax 请求时,就会为 java 代码提供这样的目标 - 当文本字段的内容发生变化时就是这种情况。
例如,如果您有一个公共文本字段(不绑定到 FilterToolbar),您可以简单地添加一个 AjaxEventBehavior 到它,这个类有一个 onEvent 方法,每当文本字段的内容发生变化时都会调用它并为您提供AjaxRequestTarget 的工作实例。
然后只需调用target.add(myToolbar); - 这会触发添加组件的刷新。
如果没有您的任何代码示例,您必须自己查看是否可以挂钩任何事件行为,或者可能只是使用在更新时调用并提供 AjaxRequestTarget 的现有方法。
【讨论】: