我知道我必须使用grid.getDataProvider()
得到ListDataProvider
(假设我发送List
到grid.setItems()
)。在其他计算页脚总我做的:如何计算一个Vaadin 8网格页脚与过滤总和
Collection myItems = ((ListDataProvider)grid.getDataProvider()).getItems();
for(MyItem myItem : myItems)
total += myItem.getValue();
footer.getCell(footerCell).setText(format(total));
但是,如果我添加了一个注脚,因为它计算了我的网格中的所有项目失败。因此,举例来说,如果我补充:因为页脚是不过滤,但总满格总
((ListDataProvider)grid.getDataProvider()).addFilter(myFilter);
顶部的代码失败。
话虽这么说someone suggested I use:
grid.getDataCommunicator().fetchItemsWithRange(...);
然而,这是一个受保护的方法。假设我创建了自己的子类,我甚至不知道该方法是如何工作的。
但即便如此,这似乎过于复杂,应该很简单,特别是如果有能力在网格中添加过滤。
因此,我的一个大问题是,如果我过滤网格,如何计算Vaadin 8网格中的页脚总数?
谢谢。我缺少的关键部分是能够执行新的查询<>()。我不知道你可以这么做。我认为如果它不是必需的,那么它不会是一个参数,并且默认情况下会在API中为您创建类似于空白查询的东西。无论如何谢谢你,完美的工作! –