1

現在RadTreeViewを使用していますが、パフォーマンスを向上させるためにLoad-On-Demand(ServerSideCallback)の使用に切り替えました。各ノードで、RadContextMenuを使用してRadWindowをポップオープンします。RadWindowで、RadTreeViewで選択したノードに関する情報を更新します(名前の変更など)。RadWindowを閉じると、RadTreeViewをトリガーして再バインドします(変更を加えて最新のデータを取得したいため)。私の問題は、ツリーの深さが4または5レベルの場合、元のノードを再選択する方法がないことです。Load-On-Demandを使用していないときは、すべてのノードがツリーの一部にすぎなかったため、これは簡単でした。Load-On-Demandを使用しているので、どうすればこれを行うことができますか?

問題のノードにつながるすべてのparentIdを取得する作業を行うためのメソッドをすでに作成しました。たとえば、特定のツリーの場合:

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

再バインドした後、「F」に戻りたいとしましょう。「F」に戻る完全修飾パスである「A、B、F」を返すメソッドがすでにあります。

ありがとう、ブライアン

4

1 に答える 1

1

この場合、そのノードのすべての親のExpandModeをClientSideに設定する必要があります。そうしないと、最初の親が拡張されず(つまり、オンデマンドの負荷の概念)、問題のノードが表示されません。

または、最初の親を見つけてそのexpand()javascriptメソッドを呼び出し、OnClientNodePopulatedイベントで次の親を見つけて、目的のノードに到達するまでそのexpand()メソッドなどを呼び出すこともできます。

于 2010-03-16T21:16:42.220 に答える