Mettre l'accent sur une IntraWeb IWTreeView un élément sélectionné
-
22-09-2019 - |
Question
J'ai une vue arborescente assez long (IWTreeView) dans un IWRegion (ClipRegion: = True) avec un noeud sélectionné. Comment puis-je me concentre ce nœud tel qu'il est visible pour l'utilisateur après un rendu? Le
Ce que je fais jusqu'à présent:
Dans Delphi
tree.Selected:= itemToFocus;
tree.ScrollToName:= tree.Selected.Name;
Cela génère sur mon site (fait par IWTreeView.pas par 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>
Toujours l'arbre après un rendu montrera l'élément le plus visible. Cela est vrai pour tous les navigateurs que j'ai testé (IE8, Firefox, Chrome).
La solution
La window.scrollTo(x,y)
fonction javascript vous permet de faire défiler une fenêtre, cela fonctionnera pour votre contrôle?
Autres conseils
Elite Suite (récemment open source) a beaucoup mieux TreeView (TArcIWStringGrid + TArcIWStringGridTreeContent) avec sélection fonctionne parfaitement et le défilement. Essayez!