可以通过AJAX更新AjaxFallbackDefaultDataTable的头文件吗?

时间:2012-01-11 08:46:47

标签: java ajax wicket wicket-1.5

我正在撰写一个Web应用程序。我使用AjaxFallbackDefaultDataTable来显示域对象。表格包括分页,到目前为止一切正常。

我希望能做什么: 在IColumn<T>的实现中,我通过Component getHeader(String componentId)返回自己的标头组件。此组件取决于表当前使用的页面和页面大小(它显示指向另一个页面的链接,该页面应仅关注当前数据片段)。现在,我已经实现了表的void onPageChanged()方法,以便相应地更新列。

问题: 我正在使用Wicket AJAX调试窗口,它向我显示整个表在服务器上被重新呈现并发送到客户端。但是,标题似乎没有正确更新,所以我永远坚持第0页。使用调试器我可以清楚地看到Component getHeader(String componentId)只在最初创建表时被调用一次。

问题: 有没有办法在不编写自己的AJAXified数据表实现的情况下解决这个问题?如果没有,有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

HeadersToolbar仅创建一次标题。

要么在每次渲染之前实现自己的工具栏重新创建标题,要么重写标题组件以始终呈现最新的链接。