在树网格 vaadin 的叶子之间添加数据

问题描述

我正在尝试在 vaadin 中创建一个树形网格。是否可以在树形网格的两片叶子之间插入一些数据?

解决方法

不确定是否有更简单的方法,但您应该能够移除最后一片叶子,添加您的项目,然后重新添加移除的叶子。

示例:假设以下 TreeGrid

TreeGrid<String> grid = new TreeGrid<>();
Column<String,String> col = grid.addColumn(String::toString);
grid.setHierarchyColumn(col);

TreeData<String> td = grid.getTreeData();
td.addItem(null,"root");
td.addItem("root","first child");
td.addItem("root","last child");

你可以像这样插入一个中间的孩子

td.removeItem("last child");
td.addItem("root","middle child");
td.addItem("root","last child");
grid.getDataProvider().refreshAll(); // Refresh for changes to TreeData to take effect 
,

我遇到了类似的问题,似乎要处理复杂的数据结构,可能会产生性能问题。我怀疑在 vaadin 8 中是否可行。无法在树形网格之间添加新数据。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...