Pergunta

Eu tenho uma vista bastante longa de árvore (iwtreeview) em um iwregion (clipregion: = true) com um nó selecionado. Como faço para concentrar esse nó de modo que seja visível para o usuário após uma renderização? o

O que eu faço até agora:

Em Delphi

tree.Selected:= itemToFocus;
tree.ScrollToName:= tree.Selected.Name;

Isso gera isso no meu site (feito por iwtreeview.pas por ATOLED):

<script language="javascript">
  ...
  function initialize {
    ...
    positionNAVIGATORTree( "i2" );
  }
</script>
...
<script language="javascript">
  function positionNAVIGATORTree( iNodeID )
  {
    FindElem( "NAVIGATOR").scrollTop =
      FindElem( iNodeID ).offsetTop - 40;
     return true;
  }
</script>

Ainda a árvore após uma renderização mostrará o item mais alto. Isso é verdade para todos os navegadores que testei (IE8, Firefox, Chrome).

Foi útil?

Solução

A função JavaScript window.scrollTo(x,y) Permite que você role uma janela, isso funcionará para o seu controle?

Outras dicas

O Elite Suite (recentemente de código aberto) possui um TreeView muito melhor (TarciwstringGrid+TarciwstringGridTreeContent) com seleção e rolagem perfeitamente funcionando. Tente!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top