RadTreeView Проблема выбора нагрузки по требованию
В настоящее время я использую 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".
Спасибо Брайан
1 ответ
В этом случае вам нужно установить ExpandMode всех родителей этого узла в ClientSide. В противном случае первый родительский элемент не будет раскрыт (такова идея загрузки по требованию), а рассматриваемый узел не будет виден.
В качестве альтернативы вы можете найти первого родителя и вызвать его метод javascript expand(), затем в событии OnClientNodePopulated найдите следующего родителя и вызовите его метод expand() и т. Д., Пока не доберетесь до нужного узла.