由于 Vaadin Tree
不支持延迟加载,我想使用 TreeTable
。
TreeTable
应该看起来像普通的树,没有标题和斑马行样式。
这是我到目前为止得到的:
TreeTable mainTree = new TreeTable();
mainTree.setSizeFull();
mainTree.setColumnHeaderMode(ColumnHeaderMode.HIDDEN);
mainTree.setColumnCollapsingAllowed(false);
我还应该设置什么以及如何消除斑马图案?
最佳答案
考虑自己实现延迟加载机制,其中加载三的根。然后添加一个 ExpandListener,在调用时加载子对象并将它们添加到节点。
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
final Tree t = new Tree();
t.addItem(new TreeNode(0));
t.addExpandListener(new ExpandListener() {
@Override
public void nodeExpand(ExpandEvent event) {
TreeNode node = (TreeNode) event.getItemId();
for (TreeNode child : node.getMyChildren()){
t.addItem(child);
t.setParent(child, node);
}
}
});
layout.addComponent(t);
}
}
关于java - 像普通树一样使用 Vaadin TreeTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891302/