2012-05-17 47 views
3

我使用TreeTable進行工作。點擊按鈕時,我想展開項目並選擇父項目內的其中一個項目。但我也想滾動到選定的項目。 如果項目可見(所有父項目都展開),一切都很完美。但是如果它最初不可見(某些父項目已摺疊),則滾動到最近的可見父項。TreeTable滾動到項目

我的代碼看起來是這樣的:

testButton.addListener(new Button.ClickListener() { 

    public void buttonClick(ClickEvent event) { 
     // expanding items for selected one 
     ItemId parentId = selectedItem.getParent(); 
     while (parentId ! = null) { 
     treeTable.setCollapsed(parentId , false); 
     parentId = parentId.getParent(); 
     } 
     // select the item 
     treeTable.select(selectedItem); 
     // scroll to seledcted item 
     treeTable.setCurrentPageFirstItemId(selectedItem); 
    } 
}); 

有沒有什麼解決滾動到所選擇的項目,而不是所選項目的最近的可見父項?

在此先感謝。

回答

0

我把這個到方法的第一行:

treeTable.focus(); 

它看起來像它的工作原理。 (Vaadin 6.7.9)