【发布时间】:2012-02-10 14:09:12
【问题描述】:
我在重置 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);
}
}
}
【问题讨论】:
-
您使用哪个 vaadin 版本?您是否尝试过最后一个夜间构建?似乎他们添加了允许您折叠/展开所有元素的方法:vaadin.com/forum/-/message_boards/view_message/…
-
@Marthin 只是作为一个提示,但我很确定你已经考虑过 hash() 和 equals() 方法。
-
如果你解决了这个问题,请更新答案,Martin!
-
@AjOtto 我从来没有得到这个答案。我不再从事那个项目了,所以我不记得我们是如何解决它的。