2010-03-13 1 views
1

현재 RadTreeView를 사용하고 있으며 성능을 향상시키기 위해로드 온 디맨드 (ServerSideCallback)를 사용하도록 전환했습니다. 각 노드에서 RadContextMenu를 사용하여 RadWindow를 팝합니다. RadWindow에서 RadTreeView에서 선택한 노드에 대한 정보를 업데이트합니다 (예 : 이름 변경 등). RadWindow를 닫으면 RadTreeView가 트리거되어 다시 바인딩됩니다 (변경 한 후 가장 새로운 데이터를 가져 오려고 함). 내 문제는 내가 나무에 4 ~ 5 레벨 깊이있을 때, 내가 온 노드를 다시 선택할 수있는 방법이 없다는 것입니다. 모든 노드가 트리의 일부 였기 때문에 Load-On-Demand를 사용하지 않았을 때 이것은 쉽습니다. Load-On-Demand를 사용할 때 어떻게하면됩니까?RadTreeView로드 온 디맨드 선택 문제

나는 문제의 노드까지 이어지는 모든 부모 노드를 얻는 방법을 이미 작성했습니다. 예를 들어, 주어진 나무를 위해 :

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

내가 바인딩 이후의 말을하자, 나는 이미 완전히이다 "A, B, F"를 반환하는 방법을 다시 "F"로 얻고 싶었다 공인 된 경로를 "F"로 되돌립니다.

감사합니다,이 경우 브라이언

답변

1

당신은 클라이언트 측에 해당 노드의 모든 부모의 ExpandMode를 설정해야합니다. 그렇지 않으면 첫 번째 부모가 확장되지 않습니다 (요청시로드의 개념). 문제의 노드는 표시되지 않습니다.

또는 첫 번째 상위 항목을 찾아 expand() 자바 스크립트 메소드를 호출 한 다음 OnClientNodePopulated 이벤트에서 다음 상위 항목을 찾고 원하는 노드에 도달 할 때까지 해당 expand() 메소드를 호출 할 수 있습니다.