我正在編寫某種對象瀏覽器,用文件夾組織。當用戶選擇列表中的某個文件夾時,我必須在樹中展開適當的節點。 我已經在樹中實現了樹擴展,元素選擇,但BUT擴展可能發生在超出可見區域的樹的一部分(CellTree在ScrollPane上)。 因此,我確實有一個TreeNode
的實例 - 我如何以編程方式滾動以使其可見?GWT CellTree滾動到任意節點
0
A
回答
2
這是不可能的,目前的API,但你可以試試,我沒有測試過這一點,但應該是很容易:
- 對於樹中的每個對象渲染和無形的標籤,標識這對象,像一個
<input type="hidden" id="yourObjectId"/>
- 確保你有一個
SelectionModel
設置,當你的nodeinfo等 - 當你知道你要滾動到,打電話
yourSelectionModel.setSelected(object,true);
什麼對象。這應該展開樹並顯示您選擇的對象。 - 在這個階段,你想要做的是:
Element cellTreeElement = yourCellTree.getElement(); NodeList<Element> objectIds = cellTreeElement.getElementsByTagName("input"); for (int i=0;i<elementsByTagName.getLength();i++) { Element e = objectIds .getItem(i); if (e.getId().equals(yourObjectId) { e.scrollIntoView(); } }
很肯定這應該只是罰款。
0
另一個版本(如果你想的元素移動到CellTree的頂部):
Element cellTreeElement = yourCellTree.getElement();
NodeList<Element> objectIds = cellTreeElement.getElementsByTagName("input");
for (int j = 0; j < objectIds.getLength(); j++) {
Element e = objectIds.getItem(j);
if (e.getId().equals("r" + iDistrictID)) {
yourCellTree.getElement().getParentElement().getParentElement().setScrollTop(e.getParentElement().getParentElement().getOffsetTop());
}
}
相關問題
- 1. GWT CellTree選擇父節點
- 2. 帶可編輯節點的GWT CellTree
- 3. GWT CellTree搜索:突出顯示搜索到的節點
- 4. GWT CellTree選擇
- 5. java gwt celltree
- 6. GWT-2.4.0,CellTree:從空節點刪除「無數據」標籤
- 7. GWT celltree改變圖像時,節點開啓/關閉
- 8. Gwt CellTree isLeaf()問題
- 9. GWT 2.1樹或CellTree?
- 10. GWT CellTree創建問題
- 11. 設計GWT CellTree模型
- 12. GWT任意HTML
- 13. 如何在首次數據提取後選擇GWT CellTree節點之一?
- 14. dynatree - 如何滾動到主動節點?
- 15. 如何滾動滾動AccessibilityNodeInfo節點
- 16. 添加滾動到GWT SuggestBox
- 17. 無法滾動到樹節點
- 18. D3將節點滾動到視圖中
- 19. TTreeView:AlphaSort滾動到選定節點(如MakeVisible)
- 20. 如何穿過GWT中的CellTree
- 21. 如何解決GWT CellTree消失(bug)?
- 22. 如何在CellTree GWT中搜索
- 23. Asynchrouns CellTree顯示加載圖標GWT
- 24. 編程方式刷新GWT CellTree
- 25. 將樹節點滾動到滾動窗格的頂部
- 26. 在angular2中訪問任意子節點
- 27. gwt CellTree更改打開/關閉項目圖像動態
- 28. 將節點分配給任意節點,如何使用Libxml2?
- 29. 在任意數量的子節點樹中找到一個節點
- 30. GWT樹的工具提示:將節點添加到節點
不錯,謝謝! – sab
一些註釋: 最好是滾動到一些可見的元素,否則滾動(在我的情況下)到單元格的頂部(我在元素的render()中添加標記的元素)。但也許我必須使用樣式將這個元素向下移動到底部。 並且關於第3點 - 僅僅調用'setSelected'是不夠的 - 相反,我必須使用我的數據模型找到選定元素路徑中的所有對象,然後使用 'tree.getRootTreeNode'和'rootNode.setChildOpen(。 ..)」。訣竅是'rootNode.setChildOpen(...)'返回打開的孩子作爲'TreeNode'。 非常感謝! – sab