sviluppo:proggridalbero
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
sviluppo:proggridalbero [2012/10/25 14:34] – [Guida] a.mucci | sviluppo:proggridalbero [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 5: | Linea 5: | ||
* [[grid_albero# | * [[grid_albero# | ||
* [[grid_albero# | * [[grid_albero# | ||
- | * [[grid_albero#Funzione GetMenu|Funzione GetMenu]] | + | * [[proggridalbero#Funzione GetMenu|Funzione GetMenu]] |
- | * [[grid_albero#Funzine | + | * [[proggridalbero#Funzione |
\\ | \\ | ||
Linea 15: | Linea 15: | ||
Come abbiamo già visto il treeGridModel utilizzato è quello Adjacency.\\ | Come abbiamo già visto il treeGridModel utilizzato è quello Adjacency.\\ | ||
- | E' importante definire, nella parte di programmazione, | + | E' importante definire, nella parte di programmazione, |
Le possibili configurazioni sono: | Le possibili configurazioni sono: | ||
* **Level :** Che assume valori integer, e indica il livello di profondità | * **Level :** Che assume valori integer, e indica il livello di profondità | ||
Linea 70: | Linea 70: | ||
$albero[$inc][' | $albero[$inc][' | ||
</ | </ | ||
- | \\ | + | \\ |
Nella funzione getMenu possiamo notare che: | Nella funzione getMenu possiamo notare che: | ||
**$inc** viene settato a **0**\\ | **$inc** viene settato a **0**\\ | ||
Linea 117: | Linea 117: | ||
} | } | ||
</ | </ | ||
- | Possiamo | + | In questo esempio possiamo |
- | * al campo $level | + | * al campo **$level** assegna |
- | * al campo $parent | + | * al campo **$parent** assegna |
+ | |||
+ | \\ | ||
+ | La condizione ci serve per capire se abbiamo un risultato dalla funzione. Infatti potrebbe essere che non ci sia nessun sottolivello e che quindi | ||
\\ | \\ | ||
\\ | \\ | ||
- | ==Funzine | + | ==Funzione |
+ | La funzione caricaTreeLegami è una funzione ricorsiva che: | ||
+ | - ispeziona un gruppo di dati, | ||
+ | - scorre la tabella estratta, | ||
+ | - si ripete se trova altri sottolivelli. | ||
+ | |||
+ | In breve stabilisce quali record nell' | ||
< | < | ||
public function caricaTreeLegami($chiave, | public function caricaTreeLegami($chiave, | ||
Linea 139: | Linea 148: | ||
} | } | ||
</ | </ | ||
- | In questa prima parte di codice, possiamo notare un primo controllo: **if ($level == 10)**. Questo controllo serve ad evitare che la funzione venga ripetuta | + | In questa prima parte di codice, possiamo notare un primo controllo: **if ($level == 10)**, per evitare che la ricorrenza avvenga |
- | + | \\ | |
- | Questo | + | In questo esempio si vedono chiaramente |
- | All' | + | All' |
+ | Nell' | ||
+ | \\ | ||
+ | All' | ||
+ | \\ | ||
+ | \\ | ||
+ | < | ||
+ | ..... | ||
+ | continue; | ||
+ | } | ||
$inc = count($albero); | $inc = count($albero); | ||
$albero[$inc] = $Ita_puntimenu_rec; | $albero[$inc] = $Ita_puntimenu_rec; | ||
- | $albero[$inc][' | + | $albero[$inc][' |
$albero[$inc][' | $albero[$inc][' | ||
$albero[$inc][' | $albero[$inc][' | ||
Linea 151: | Linea 169: | ||
$albero[$inc][' | $albero[$inc][' | ||
$albero[$inc][' | $albero[$inc][' | ||
- | + | </ | |
- | $sql = " | + | Possiamo notare che la variabile **$inc** |
- | $Ita_menu_giu_rec = ItaDB:: | + | \\ |
+ | Successivamente, | ||
+ | < | ||
+ | | ||
+ | $albero[$inc][' | ||
+ | |||
+ | if ($Ita_puntimenu_rec[' | ||
+ | $albero[$inc][' | ||
+ | |||
+ | | ||
+ | $Ita_menu_giu_rec = ItaDB:: | ||
+ | $me_id = $Ita_menu_giu_rec[' | ||
+ | |||
+ | </ | ||
+ | Nel caso in cui si tratti di un **Menu**, possiamo subito notare l' | ||
+ | E' inoltre presente una **Select**, che assegnerà alla variabile $me_id il valore **' | ||
+ | \\ | ||
+ | Dopo di che verrà salvato il conteggio totale in **$save_count** dei record contenuti in **$albero** e la funzione avrà un " | ||
+ | < | ||
+ | .... | ||
$me_id = $Ita_menu_giu_rec[' | $me_id = $Ita_menu_giu_rec[' | ||
- | |||
$save_count = count($albero); | $save_count = count($albero); | ||
$albero = $this-> | $albero = $this-> | ||
- | if ($save_count == count($albero)) { // Fa riferimento a sestessa incrementando però il level di 1. (Fino a che non arriverà a 10, come da controllo impostata all' | + | if ($save_count == count($albero)) { |
- | $albero[$inc][' | + | |
- | } else { | + | |
- | if (!$filtro) { | + | |
- | $albero[$inc][' | + | |
- | } | + | |
} | } | ||
} | } | ||
Linea 172: | Linea 204: | ||
} | } | ||
</ | </ | ||
+ | Possiamo notare che nell' | ||
+ | \\ | ||
+ | * alla variabile **$chiave** viene assegnato il valore **$me_id** | ||
+ | * la variabile **$level** viene incrementata di **1** | ||
+ | * e alla variabile **$parent** viene assegnato il valore contenuto in **$inc** | ||
+ | |||
+ | Viene inoltre riutilizzata la condizione | ||
+ | |||
+ | Infine vi è il ritorno di $albero : **return $albero;** | ||
+ | |||
+ | Per concludere: | ||
+ | < | ||
+ | ..... | ||
+ | $this-> | ||
+ | $arr = array(' | ||
+ | ' | ||
+ | |||
+ | $griglia = new TableView($this-> | ||
+ | $griglia-> | ||
+ | $griglia-> | ||
+ | .... | ||
+ | </ | ||
+ | |||
+ | **tree** a questo punto contiene tutto il nostro albero.\\ | ||
+ | Come è già stato detto in precedenza nel Generetor il nostro elemento è stato definito treeGrid, e attraverso la selezione del ' | ||
+ | |||
+ | {{counter}} visualizzazioni. | ||
sviluppo/proggridalbero.1351175669.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)