2017-10-06 42 views
1

我有一個巨大的樹組件(可滾動)和編輯組件,我可以編輯選定節點的頁面。在編輯窗口中編輯選定節點後,我有一個更新樹組件的ajax事件。如何使用JSF自動滾動到primefaces中的選定treenode?

我的問題是樹更新100%,但所選節點現在滾動出視圖。我怎樣才能回滾到選定的節點。還是有辦法更新樹中選定的節點,而不是完全更新樹?

回答

0

我遇到過一模一樣的情況,這裏是我的解決方案,基於JavaScript:

$('.scrollable-tree-container').each(function(index) { 
    var position = $(this).find('.ui-state-highlight').position(); 
    if (typeof position != 'undefined') { 
     $(this).scrollTop(position.top + $(this).scrollTop() - 300); 
    } 
}); 

它是如何工作的?

  • 指定容器提供滾動條
  • 查找突出顯示的節點
  • 閱讀它的位置和滾動有

您可能需要添加額外的選擇,以避免對其他部件的副作用。由於我的總樹高爲800像素,因此我在這裏減去了300像素。這樣,選定的節點將位於中間的某個位置(而不是頂部)。 未定義的檢查僅在您不能確定調用函數時總是選擇一個節點的情況下才需要。

+0

我使用JSF來組建我的樹。在什麼地方我將這行添加到了我的jsf中? – Raja

相關問題