Цитата:
Сообщение от
mazzy
а если набор данных изменился в другой аксапте.
то узел тоже не должен менять своего положения?
Если изменился настолько, что на новом наборе данных восстановить картину до обновления невозможно - пожалуйста, тут без вопросов..
Цитата:
Сообщение от
mazzy
предположим, нет аксапты.
есть только ручка, бумага и воображаемый набор на десяток элементов.
как ваша хотелка должна работать?
Хорошо, давайте на пальцах ...
Допустим , что есть для воображаемого набора воображаемый grid c 5 видимыми строками для вывода элементов. На гриде в текущий момент видны элементы, начиная с 5-го ( 5, 6, 7, 8, 9).и выделение текущей позиции стоит на 6-ом (2-й среди видимых на grid). Я раскрываю 6-й элемент (lдопустим , у него 2 подчиненных) . и хочу увидеть следующую картину видимых на grid элементов после обновления - 5, 6, 6.1, 6.2, 7 с выделением на 6-ом (т.е. точно так же выделение остается на той же записи и эта запись имеет ту же самую позицию среди видимых на grid)
Что получается при вызове research()/FindValue() ?
research() обновит набор данных (станет 1, 2, 3, 4, 5, 6, 6.1, 6.2, 7, 8, 9, 10) отобразит на grid набор видимых строк с 1 по 5.с выделением на 1-ом.
FindValue() переместит выделение на элемент 6 и изменит набор видимых строки в grid со 2-го по 6-й.(скроллирует grid, пока не найдет искомую запись, которая оказывается последней среди видимых на grid ) - что несколько отличается от желаемой картины и визуально воспринимается как "прыжок".выделенной позиции и всех вышерасположенных данных вниз по grid'у.
Как исправить такое - попытаться доскроллировать на нужное кол-во шагов сам grid после FindValue() так, чтобы выделенная запись обрела среди видимых ту же самую позицию, что и до обновления.
Именно по реализации этого и есть вопрос - есть ли какие средства, позволяющие считывать и управлять позицией среди видимых строк для выделенной записи на grid