【问题标题】:DataTable / AjaxFallbackDefaultDataTable: How to configure the top toolbar?DataTable / AjaxFallbackDefaultDataTable:如何配置顶部工具栏?
【发布时间】:2017-11-10 12:31:38
【问题描述】:

我目前正在编写一个带有 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 正在添加一个包含PagingNavigatorAjaxNavigationToolbar。您可以随时致电DataTable.getTopToolbars() 来获取ToolbarsContainer,但后来我被卡住了。我怎样才能走得更远?请帮忙!

【问题讨论】:

  • 您好,您是否已经检查了示例站点?有一个与您的应用程序非常相似的示例:examples8x.wicket.apache.org/wicket-examples/repeater/wicket/…
  • 您好,感谢您的评论!在哪里可以找到此 DataTable 示例的 Java 代码?
  • 您好,页面右上角有一个“源代码”链接,显示示例代码。

标签: java jquery ajax datatable wicket


【解决方案1】:

我没有替换AjaxFallbackDefaultDataTable 中的工具栏,而是从DataTable 开始并添加我想要的工具栏。

在您的情况下,如果您需要显示消息“显示 25 个,共 280 个”的 NavigatorToolbar 始终可见,则需要对其进行子类化并将其设置为始终可见。像这样的:

public class AlwaysVisibleAjaxNavigationToolbar extends AjaxNavigationToolbar{

    public AlwaysVisibleAjaxNavigationToolbar (final DataTable<?, ?> table)
    {
        super(table);
    }

    @Override
    protected void onConfigure()
    {
        super.onConfigure();
        setVisible(true);
    }

}

【讨论】:

  • 感谢您的回答@RobertNiestroj!我会接受它,因为AjaxFallbackDefaultDataTable 阻止了这种配置,这是最好的解决方法。
猜你喜欢
  • 1970-01-01
  • 2019-09-08
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
相关资源
最近更新 更多