Mettere a fuoco un IntraWeb IWTreeView su un elemento selezionato
-
22-09-2019 - |
Domanda
ho una vista ad albero piuttosto lunga (IWTreeView) in un'IWRegion (ClipRegion: = True) con una nodo selezionato. Come si mette a fuoco quel nodo in modo che sia visibile per l'utente dopo un render? Il
Quello che faccio finora:
In Delphi
tree.Selected:= itemToFocus;
tree.ScrollToName:= tree.Selected.Name;
Questo genera questo sul mio sito (fatto da IWTreeView.pas per Atozed):
<script language="javascript">
...
function initialize {
...
positionNAVIGATORTree( "i2" );
}
</script>
...
<script language="javascript">
function positionNAVIGATORTree( iNodeID )
{
FindElem( "NAVIGATOR").scrollTop =
FindElem( iNodeID ).offsetTop - 40;
return true;
}
</script>
Ancora l'albero dopo un render mostrerà l'elemento più in alto. Questo è vero per tutti i browser che ho provato (IE8, Firefox, Chrome).
Soluzione
La funzione window.scrollTo(x,y)
javascript permette di scorrere una finestra, la volontà che il lavoro per il vostro controllo?
Altri suggerimenti
Elite Suite (di recente open-source) ha molto migliore vista ad albero (TArcIWStringGrid + TArcIWStringGridTreeContent) con la selezione perfettamente funzionante e lo scorrimento. Provalo!