我目前正在使用 wicket 编写一个 Web 应用程序,在 TableView 中列出一些域 dto。我正在使用 AjaxFallbackDefaultDataTable
,它扩展了 wicket 的 DataTable
。我想始终显示“显示 25 个,共 280 个”标签,而不仅仅是在页面超过一页时显示(这是默认行为)。我在自定义包装类中添加一个 AjaxFallbackDefaultDataTable
,如下所示:
输入参数列表
List<? extends IColumn<T, String>> iColumns,
ISortableDataProvider<T, String> dataProvider,
int rowsPerPage
DataTable实例化
table = new AjaxFallbackDefaultDataTable<T, String>("table", iColumns, dataProvider, rowsPerPage);
标记
<wicket:panel>
<table wicket:id="table" class="table data-table">[table]</table>
</wicket:panel>
到目前为止我得到了什么
对 AjaxFallbackDefaultDataTable 其他问题的一些答案建议替换 header ,因此我研究了这个主题。据我所知,AjaxFallbackDefaultDataTable
正在添加一个包含PagingNavigator
的AjaxNavigationToolbar
。您始终可以调用 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);
}
}
关于java - 数据表/AjaxFallbackDefaultDataTable : How to configure the top toolbar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47222864/