如何在vaadin TreeTable中重新扩展对象

时间:2012-02-10 14:09:12

标签: vaadin treetable

我在为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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我是这样做的:

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

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