我正在使用Wicket的OrderByBorder
进行排序。它工作正常,但它刷新了我的页面。我想改用AjaxFallbackOrderByBorder
;我怎样才能做到这一点?这是我目前的代码:
datacontainer.add(new OrderByBorder("orderByKeywordName", "keywordName",
kewordSortable) {
private static final long serialVersionUID = 1L;
@Override
protected void onSortChanged() {
dataView.setCurrentPage(0);
}
}).setOutputMarkupId(true);
答案 0 :(得分:1)
大多数Wicket AJAX组件的设计都是为了让你可以通过简单地删除它们来替换非AJAX版本。AjaxFallbackOrderByBorder
似乎不是一个例外。所以,你应该能够简单地使用
datacontainer.add(new AjaxFallbackOrderByBorder("orderByKeywordName",
"keywordName", kewordSortable) {
private static final long serialVersionUID = 1L;
@Override
protected void onSortChanged() {
dataView.setCurrentPage(0);
}
}).setOutputMarkupId(true);
如果您查看Javadoc(AJAX,non-AJAX),您会看到相关的签名是相同的。
此外,它不会影响编辑或其他任何内容,但您在kewordSortable
中拼错了“关键字”。