2010-03-13 3 views
1

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

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

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

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

Спасибо, Brian

ответ

1

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

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