我使用DefaultDataTable
和FilterToolbar
。除此之外,我在底部添加了自己的工具栏,用于计算给定数据提供者的总和。
当我通过在文本字段中输入文本来过滤数据表时,数据本身会正确更新,但它不会刷新我的工具栏。
如何强制刷新?
答案 0 :(得分:0)
我必须承认我对FilterToolbar
API不太熟悉。但通常,您可以通过将组件添加到AjaxRequestTarget
来进行组件刷新。只要用户触发某个ajax请求,就会为java代码提供这样的目标 - 这就是文本字段内容发生变化时的情况。
例如,如果你有一个共同的文本字段(没有绑定到FilterToolbar)你可以简单地添加一个AjaxEventBehavior
,这个类有一个onEvent
方法,只要文本字段的内容发生变化就会调用它并为您提供AjaxRequestTarget的工作实例。
然后只需调用target.add(myToolbar);
- 这会触发刷新添加的组件。
如果没有您的任何代码示例,您必须亲自了解是否可以挂钩任何事件行为,或者只是使用在更新时调用的现有方法并获得AjaxRequestTarget。