【发布时间】:2018-03-25 03:15:15
【问题描述】:
我知道我必须使用grid.getDataProvider() 来获取ListDataProvider(假设我向grid.setItems() 发送了List)。在其他计算页脚总数我做:
Collection myItems = ((ListDataProvider)grid.getDataProvider()).getItems();
for(MyItem myItem : myItems)
total += myItem.getValue();
footer.getCell(footerCell).setText(format(total));
但是,如果我添加页脚,则会失败,因为它会计算网格中的所有项目。例如,如果我添加:
((ListDataProvider)grid.getDataProvider()).addFilter(myFilter);
顶部的代码失败,因为页脚不是过滤后的总数,而是完整的网格总数。
grid.getDataCommunicator().fetchItemsWithRange(...);
但是,这是一种受保护的方法。假设我创建了自己的子类,我什至不明白该方法是如何工作的。
但即便如此,这似乎还是过于复杂并且应该很简单,尤其是如果能够在网格中添加过滤功能的话。
因此,我最大的问题是,如果我过滤网格,如何计算 Vaadin 8 网格中的页脚总数?
【问题讨论】:
标签: java vaadin vaadin8 vaadin-grid