Как повторно развернуть объекты в vaadin TreeTable - PullRequest
1 голос
/ 10 февраля 2012

Я пытаюсь повторно развернуть объекты в 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 голосов
/ 11 июля 2017

Я сделал это так:

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

Где сводка - это древовидная таблица.Это работает только на двухуровневой таблице, но может быть сделано рекурсивным методом.

...