AjaxFallbackDefaultDataTable

AjaxFallbackDefaultDataTable

我目前正在使用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正在添加包含AjaxNavigationToolbarPagingNavigator。您总是可以调用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);
    }

}

10-08 02:35