我目前正在使用wicket编写Web应用程序,并在表视图中列出一些域dto。我正在使用AjaxFallbackDefaultDataTable
,它扩展了检票口的DataTable
。我想始终显示“显示25之280”标签,不仅是在一页以上的情况下,这是默认行为。我在这样的自定义包装类中添加AjaxFallbackDefaultDataTable
:
输入参数列表
List<? extends IColumn<T, String>> iColumns,
ISortableDataProvider<T, String> dataProvider,
int rowsPerPage
数据表的实例化
table = new AjaxFallbackDefaultDataTable<T, String>("table", iColumns, dataProvider, rowsPerPage);
标记
<wicket:panel>
<table wicket:id="table" class="table data-table">[table]</table>
</wicket:panel>
我到目前为止所得到的
使用
AjaxFallbackDefaultDataTable
建议替换标头可以解决其他问题,因此我研究了此主题。据我所见,AjaxFallbackDefaultDataTable
正在添加包含AjaxNavigationToolbar
的PagingNavigator
。您总是可以调用DataTable.getTopToolbars()
来获取ToolbarsContainer
,但是我被困住了。我该如何进一步?请帮忙! 最佳答案
我不是替换AjaxFallbackDefaultDataTable
中的工具栏,而是从DataTable
开始并添加我想要的工具栏。
在您的情况下,如果需要显示消息“ Showing 25 of 280”的NavigatorToolbar始终可见,则需要对其进行子类化并将其设置为始终可见。像这样:
public class AlwaysVisibleAjaxNavigationToolbar extends AjaxNavigationToolbar{
public AlwaysVisibleAjaxNavigationToolbar (final DataTable<?, ?> table)
{
super(table);
}
@Override
protected void onConfigure()
{
super.onConfigure();
setVisible(true);
}
}