问题描述
我正在尝试在 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 中是否可行。无法在树形网格之间添加新数据。