如何重新展开 vaadin TreeTable 中的对象

发布于 2025-01-04 22:02:54 字数 819 浏览 4 评论 0原文

在重置 TreeTable 的容器数据源后,我尝试重新扩展 TreeTable 中的对象,但我不起作用。以前有人尝试过这个吗?我哪里出错了?

private void setTableDataSource() {
    Set<Object> expandedMap = new HashSet<Object>();
    if(table.getItemIds() != null && !table.getItemIds().isEmpty()){
        for(Object o : table.getItemIds()){         
            if(table.isCollapsed(o))
                expandedMap.add(o);
        }
    }       
    table.setContainerDataSource(ContactContainerFactory.createContainer(model.getParentModel()));
    table.setVisibleColumns(new String[]{"title", "operation", "id", "price"});
    table.setColumnHeaders(getTranslatedTableHeaders());        
    if(!expandedMap.isEmpty()){
        for(Object o : expandedMap){                
            table.setCollapsed(o, false);
        }
    }
}

Im trying to re-expand objects in a TreeTable after I have reset the container datasource for the TreeTable but i doesnt work. Has anyone tried this before? Where am I going wrong?

private void setTableDataSource() {
    Set<Object> expandedMap = new HashSet<Object>();
    if(table.getItemIds() != null && !table.getItemIds().isEmpty()){
        for(Object o : table.getItemIds()){         
            if(table.isCollapsed(o))
                expandedMap.add(o);
        }
    }       
    table.setContainerDataSource(ContactContainerFactory.createContainer(model.getParentModel()));
    table.setVisibleColumns(new String[]{"title", "operation", "id", "price"});
    table.setColumnHeaders(getTranslatedTableHeaders());        
    if(!expandedMap.isEmpty()){
        for(Object o : expandedMap){                
            table.setCollapsed(o, false);
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耶耶耶 2025-01-11 22:02:54

我是这样做的:

summary.getItemIds().forEach(id -> {
    summary.setCollapsed(id, false);
    summary.getChildren(id).forEach(child -> {
        summary.setCollapsed(child, false);
    });
});

摘要是树表。这仅适用于二级表,但可以通过递归方法完成。

I did it like this:

summary.getItemIds().forEach(id -> {
    summary.setCollapsed(id, false);
    summary.getChildren(id).forEach(child -> {
        summary.setCollapsed(child, false);
    });
});

Where summary is the tree table. This only works on a 2 level table but could be done in a recursive method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文