Vaadin 8 TreeGrid-是否可以对叶/子元素进行多选,并且父元素不可选

  • 本文关键字:元素 是否 TreeGrid- Vaadin vaadin
  • 更新时间 :
  • 英文 :


Vaadin 8使用网格。树网格是指根元素可以附加叶元素(子元素(的地方。在我的例子中,我想要多选的网格功能——给每一行一个复选框,允许选择多行,但我不希望用户能够在网格中选择父元素/根元素。如何从多选中禁用树网格中的根元素,而只允许叶元素的多选?

您不能完全阻止选择,但当发生任何不需要的选择时,您可以立即取消选择:

treeGrid.addSelectionListener(e -> {
Set<HierarchicalBean> allSelectedItems = e.getAllSelectedItems();
Set<HierarchicalBean> toRemove = new HashSet<>();
for (HierarchicalBean b : allSelectedItems) {
if (!b.hasParent()) {
toRemove.add(b);
}
}
for (HierarchicalBean beanToRemove : toRemove) {
treeGrid.deselect(beanToRemove);
}
});

最新更新