Non mi è chiaro. Nel caso DO c'è modo di farlo implementando l'evento OnMayHaveChildren. Nel caso DB è sufficiente espandere completamente l'albero per far sì che ogni nodo sappia se ha o meno figli. Nel caso DB, infatti, ogni nodo che non sia mai stato espanso non sa se ha figli... per saperlo deve eseguire una query. Ogni nodo ricorda se ha già eseguito la query e ricorda se ha figli o meno.
Ora o la query la fai tu da codice (per esempio espandendo e ricollassando tutti i nodi figli del nodo aperto dall'utente) oppure il sistema mette il '+' perché non sa se quel nodo ha o meno figli.
Detto in altre parole: se hai un albero fatto così:
- Code: Select all
RADICE
+--- FIGLIO1
+---- NIPOTE1
+---- NIPOTE2
+----FIGLIO2
Se all'inizio l'albero è tutto chiuso e l'utente apre FIGLIO1 vede tutti i figli di FIGLIO1 con il '+'... a meno che nell'evento di espansione di FIGLIO1 non vai tu ad espandere e ri-collassare tutti i figli di FIGLIO1 per permettere a tutti i figli di FIGLIO1 di sapere se loro hanno figli.