java - 像普通树一样使用 Vaadin TreeTable

标签 java vaadin vaadin7

由于 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/

相关文章:

java - 只显示小数点后两位

java - Spring PropertyPlaceHolder 问题

java - 为 vaadin 元素提供动态边距的简单方法

java - 如何在 Vaadin 网格中仅使某些列可编辑?

vaadin - 无法在 Vaadin View 中从 @JavaScript import 调用 JS 函数

java - 如何在关闭应用程序之前停止纹理 View 监听器并显示图像

java - public static void main(String[] args) 应该放在哪里?

java - 如何在过滤 vaadin 网格时捕获异常

java - 文本选择在 vaadin 应用程序内的 iframe 中不起作用

java - 使用 Binder 进行表单验证