Имя: Пароль:
1C
1С v8
v8: Если обновление происходит во время скрола, то отображение прыгает на начало.
, ,
0 aMz
 
14.05.14
09:13
Всем привет, есть данные которые обновляются через время. Выводятся на табличное поле с типом дерево значений. Если обновление происходит во время скрола, то отображение прыгает на начало. Как сделать так, что бы пользователь не замечал, что данные обновились?
1 Kookish
 
14.05.14
09:15
Перейти на управляемые формы. Там это реализовано.
2 Wobland
 
14.05.14
09:15
а не показывай новые данные, пусть пребывает в сладком заблуждении
3 RomaH
 
naïve
14.05.14
09:15
обычное или УФ?
4 Вася Чез
 
14.05.14
09:16
(1) в УФ тоже будет скакать
5 aMz
 
14.05.14
09:16
Обычное
6 Kookish
 
14.05.14
09:21
Какая красивая фраза: "данные обновляются через время"...

Можно перед обновлением запоминать текущую позицию в дереве и прыгать туда после обновления. Но может и не получиться, если нумерация строк при каждом обновлении не начинается с начала.
7 aMz
 
14.05.14
09:28
(6) Просто, где отображается событие скрола? какие данные изменяются
8 Kookish
 
14.05.14
09:35
(7) Я должен знать, какие данные У ВАС изменяются?
И причем тут событие скролла на простых формах?
9 aMz
 
14.05.14
09:41
(8) МОИ данные тут не причем. Интересно лишь при нажатии скрола вниз или вверх, можно ли узнать на сколько позиции произошел сдвиг.
10 Fedor-1971
 
14.05.14
09:50
(9) Попробуй посмотреть в сторону ПриПолученииДанных или ПриВыводеСтроки у твоей таблицы значений. Может подойдёт.
Универсального рецепта решения данной проблемы нет, но можно посмотреть в сторону ПодключитьОбработчикОжидания() - он выполняет указанные действия через определённое время, но только если пользователь ничего не делает (как определяет - тайна покрытая мраком), т.е. алгоритм такой: пользователь задумался, обновим ему данные на форме (можешь забацать обновление с запоминанием текущей позиции, это уже тебе решать).