Domanda

Attualmente sto utilizzando RadTreeView e sono appena passato all'utilizzo di Load-On-Demand (ServerSideCallback) per migliorare le prestazioni.Su ciascun nodo, utilizzo un RadContextMenu per aprire una RadWindow.In RadWindow, aggiorno le informazioni sul nodo che ho selezionato in RadTreeView (come modificarne il nome, ecc.).Quando chiudo RadWindow, attivo RadTreeView per ricollegarlo (poiché ho apportato modifiche e voglio ottenere i dati più aggiornati).Il mio problema è che, quando sono a 4 o 5 livelli di profondità nell'albero, non ho modo di riselezionare il nodo da cui provengo.Questo era facile quando non utilizzavo Load-On-Demand poiché tutti i nodi erano solo parte dell'albero.Come posso farlo ora che sto utilizzando Load-On-Demand?

Ho già scritto un metodo per ottenere TUTTI i parentId che portano al nodo in questione.Ad esempio, per l'albero dato:

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

Diciamo che dopo aver ricollegato, volevo tornare a "F", ho già un metodo che restituisce "A,B,F", che è il percorso completo per tornare a "F".

Grazie Brian

È stato utile?

Soluzione

In questo caso è necessario impostare l'ExpandMode di tutti i genitori di quel nodo su ClientSide.Altrimenti il ​​primo genitore non verrà espanso (questa è l'idea del load on demand) e il nodo in questione non sarebbe visibile.

In alternativa, puoi trovare il primo genitore e chiamare il suo metodo javascript expand(), quindi nell'evento OnClientNodePopulated trovare il genitore successivo e chiamare il suo metodo extend() e così via fino ad arrivare al nodo desiderato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top