RadTreeView Проблема выбора нагрузки по требованию - PullRequest
1 голос
/ 13 марта 2010

В настоящее время я использую 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».

Спасибо, Brian

1 Ответ

1 голос
/ 17 марта 2010

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

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

...