Проблема выбора загрузки RadTreeView по требованию

StackOverflow https://stackoverflow.com/questions/2439989

  •  19-09-2019
  •  | 
  •  

Вопрос

В настоящее время я использую RadTreeView и только что переключился на использование Load-On-Demand (ServerSideCallback) для повышения производительности.На каждом узле я использую RadContextMenu, чтобы открыть RadWindow.В RadWindow я обновляю информацию об узле, который я выбрал в RadTreeView (например, меняю его имя и т.д.).Когда я закрываю RadWindow, я запускаю повторную привязку RadTreeView (поскольку я внес изменения и хочу получить самые свежие данные).Моя проблема в том, что когда я нахожусь на 4 или 5 уровнях вглубь дерева, у меня нет возможности повторно выбрать узел, с которого я пришел.Это было легко, когда я не использовал Load-On-Demand, поскольку все узлы были всего лишь частью дерева.Как я могу это сделать теперь, когда я использую Load-On-Demand?

Я уже написал метод для выполнения работы по получению ВСЕХ родительских идентификаторов, которые ведут к рассматриваемому узлу.Например, для данного дерева:

A
|__ B
|__ C
|__ D
      |__ E
      |__ F

Допустим, после повторной привязки я захотел вернуться к "F", у меня уже есть метод, который возвращает "A, B, F", который является полным путем обратно к "F".

Спасибо, Брайан

Это было полезно?

Решение

В этом случае вам нужно установить ExpandMode для всех родительских элементов этого узла в значение ClientSide.В противном случае первый родительский элемент не будет расширен (в этом заключается идея загрузки по требованию), и рассматриваемый узел не будет виден.

В качестве альтернативы, вы можете найти первого родительского элемента и вызвать его метод expand() javascript, затем в событии OnClientNodePopulated найдите следующего родительского элемента и вызовите его метод expand() и так далее, пока не доберетесь до нужного узла.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top