2013-05-31 67 views
0

我是Vaadin的新手,我想知道如何在點擊時展開樹節點?更確切地說,當我點擊父節點而不是展開按鈕時,我希望樹展開。Vaadin tree onclick擴展

回答

2

這是很容易在Vaadin創建一棵樹:https://vaadin.com/book/vaadin7/-/page/components.tree.html

+0

我知道如何創建一棵樹,我希望樹節點在點擊它時展開。 – azamat

+1

我想你的意思是點擊標籤,因爲你可以點擊旁邊的小箭頭來展開它。 你將需要一個監聽器來做到這一點: http://demo.vaadin.com/sampler-for-vaadin6#TreeMouseEvents 該樹有一個expandItem(String itemId)方法,該方法應該在左鍵單擊事件後調用。 –

+0

是的,正是我想要的。我會嘗試你的建議 – azamat

1

例如,如果你想擴展所有節點vaadin.ui.Tree:

// --- Expand all nodes 
for (Iterator<?> it = tree.rootItemIds().iterator(); it.hasNext();) { 
    tree.expandItemsRecursively(it.next()); 
} 
0

這爲我工作:

@Override 
     public void itemClick(ItemClickEvent itemClickEvent) { 
      final String column = itemClickEvent.getPropertyId().toString(); 
      final String item = (String) itemClickEvent.getItemId(); 
      if (column.equals(something)) { 
       Boolean collapsed = functieTree.isCollapsed(item); 
       LOGGER.debug("COLLAPSED: " + collapsed); 
       tableTree.setCollapsed(item, !collapsed); 
      } 
     } 
0
tree.addItemClickListener(new ItemClickListener() { 
    @Override 
    public void itemClick(ItemClickEvent event) { 
     menu.expandItem(event.getItemId()); 
    } 
}); 

這個工作對我來說