Focus intraweb iwtreeview на выбранном элементе
-
22-09-2019 - |
Вопрос
У меня довольно длинный вид дерева (iwtreeview) в iwregion (clipregion: = true) с выбранным одним узлом. Как мне сосредоточить этот узел так, чтобы он был виден для пользователя после рендеринга? А
Что я делаю до сих пор:
В Дельфи
tree.Selected:= itemToFocus;
tree.ScrollToName:= tree.Selected.Name;
Это генерирует это на моем веб -сайте (сделано iwtreeview.pas от Atozeed):
<script language="javascript">
...
function initialize {
...
positionNAVIGATORTree( "i2" );
}
</script>
...
<script language="javascript">
function positionNAVIGATORTree( iNodeID )
{
FindElem( "NAVIGATOR").scrollTop =
FindElem( iNodeID ).offsetTop - 40;
return true;
}
</script>
Все еще дерево после рендера покажет самый верхний предмет. Это верно для всех браузеров, которые я протестировал (IE8, Firefox, Chrome).
Решение
Функция JavaScript window.scrollTo(x,y)
Позволяет вам прокрутить окно, будет ли это работать для вашего управления?
Другие советы
Elite Suite (недавно с открытым исходным кодом) имеет гораздо лучший обзор (tarciwstringgrid+tarciwstringgridtreeecontent) с идеально работающим отбором и прокруткой. Попытайся!