Показать сообщение отдельно
Старый 27.02.2021, 10:31   #5  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от Eugene.Ostroukhov Посмотреть сообщение
а как выбрать ноду без смещения фокуса?
например в selectionChanged датасурса грид-контрола
В смысле переместить позицию выделения в дереве согласно изменения позиции в гриде, на котором отображается набор данных с которого и построено дерево ?

Если так , то понадобятся 2 вещи:
  1. при создании каждого элемента дерева накапливать мапу соответсвия {ID записи -> ID элемента дерева} для возможности поиска ID элемента дерева, соответствующего ID записи в текущей позиции в гриде
  2. при отсуствии по текущей позиции в гриде искомого элемента в дереве (ранее выполненные действия по открытию подчиненных узлов в дереве не привели к отрисовке соотв. элемента ) - собрать по вышестоящим родительским записям тек. позиции в гриде очередь ID-шников записей (до первого отрисованного) и запустить по этой очереди последовательный процесс принудительной отрисовки в дереве подчиненных элементов (после завершения таковой отрисовки элемент дерева , соотв. текущей позиции в гриде, будет виден и может быть выбран)
__________________
Мы летаем, кружимся, нагоняем ужасы ...