sviluppo:grid_albero
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:grid_albero [2012/10/25 13:57] – a.mucci | sviluppo:grid_albero [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 10: | Linea 10: | ||
* **ExpandColumn :' | * **ExpandColumn :' | ||
- | All' | + | All' |
* Essere , | * Essere , | ||
Linea 17: | Linea 17: | ||
* **Class**: | * **Class**: | ||
* **{hidden: | * **{hidden: | ||
- | ---- | ||
- | ==== Progettazione ==== | ||
- | |||
- | * [[grid_albero# | ||
- | * [[grid_albero# | ||
- | * [[grid_albero# | ||
- | * [[grid_albero# | ||
- | * [[grid_albero# | ||
- | |||
- | |||
- | \\ | ||
- | ---- | ||
- | \\ | ||
- | |||
- | === Struttura === | ||
- | |||
- | Come abbiamo già visto il treeGridModel utilizzato è quello Adjacency.\\ | ||
- | E' importante definire, nella parte di programmazione, | ||
- | Le possibili configurazioni sono: | ||
- | * **Level :** Che assume valori integer, e indica il livello di profondità | ||
- | * **Parent :** Indica , | ||
- | * **isLeaf :** | ||
- | * **true:** Indica se è o meno una foglia. Nota. La foglia è l' | ||
- | * **false:** Se impostato indica che l' | ||
- | * **loaded :** | ||
- | * **true:** Se impostato appena viene caricata la grid, vengono anche visualizzate le foglie. | ||
- | * **false:** Se impostato appena viene caricata la grid, non verranno visualizzate le varie foglie del parent, quindi sarà necessario un click per visualizzare le varie foglie. | ||
- | * **expanded :** | ||
- | * **true:** Se impostato si avrà l' | ||
- | * **false:** Se impostato false , la tabella non visualizzerà nulla, perchè ,come definito da programma utilizzando l' | ||
- | |||
- | **Nota.**\\ | ||
- | Se si vuole ottenere un effetto ad albero, dove vengono visualizzate automaticamente i nodi e le loro foglie, è necessario impostare sia **Expanded** che **Loaded** in " | ||
- | |||
- | ---- | ||
- | |||
- | ===Model=== | ||
- | |||
- | ==Codice nel Model:== | ||
- | **Esempio: | ||
- | \\ | ||
- | Nel Programma andremo a chiamare la funzione " | ||
- | Il risultato chiaramente poi finirà nell' | ||
- | < | ||
- | ..... | ||
- | $this-> | ||
- | $arr = array(' | ||
- | ' | ||
- | |||
- | $griglia = new TableView($this-> | ||
- | $griglia-> | ||
- | $griglia-> | ||
- | .... | ||
- | </ | ||
- | \\ | ||
- | |||
- | === menLib === | ||
- | == Funzione GetMenu == | ||
- | \\ | ||
- | Nella funzione getMenu possiamo notare che: | ||
- | $inc viene settato a 0\\ | ||
- | Viene dichiarato l' | ||
- | In questo caso avremo nell' | ||
- | * [0] | ||
- | * ↳ INDICE = 0 | ||
- | |||
- | **Codice nella " | ||
- | < | ||
- | |||
- | | ||
- | $inc = 0; | ||
- | $albero = array(); | ||
- | $albero[$inc][' | ||
- | </ | ||
- | Successivamente dovremo impostare alcuni campi obbligatori: | ||
- | |||
- | \\ | ||
- | < | ||
- | ..... | ||
- | $albero[$inc][' | ||
- | | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | </ | ||
- | E successivamente possono essere impostatati anche gli altri campi all' | ||
- | \\ | ||
- | < | ||
- | ...... | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $save_count = count($albero); | ||
- | $albero = $this-> | ||
- | if ($save_count == count($albero)) { // Nel caso in cui il $save_count sia uguale al $count($albero) significa che non ci sono sotto livelli o foglie e quindi viene impostato come foglia. | ||
- | $albero[$inc][' | ||
- | } | ||
- | return $albero; | ||
- | } | ||
- | | ||
- | </ | ||
- | ==Funzine caricaTreeLegami== | ||
- | \\ | ||
- | **Codice nella " | ||
- | < | ||
- | public function caricaTreeLegami($chiave, | ||
- | if ($level == 10) { // Impostato a 10 perchè è praticamente impossibile che si arrivi ad avere più di 10 livelli. | ||
- | return $albero; | ||
- | } | ||
- | |||
- | $sql = " | ||
- | $Ita_puntimenu_tab = ItaDB:: | ||
- | if ($Ita_puntimenu_tab) { | ||
- | foreach ($Ita_puntimenu_tab as $i => $Ita_puntimenu_rec) { | ||
- | if ($only_menu && $Ita_puntimenu_rec[' | ||
- | continue; | ||
- | } | ||
- | |||
- | $inc = count($albero); | ||
- | $albero[$inc] = $Ita_puntimenu_rec; | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | |||
- | $sql = " | ||
- | $Ita_menu_giu_rec = ItaDB:: | ||
- | $me_id = $Ita_menu_giu_rec[' | ||
- | |||
- | $save_count = count($albero); | ||
- | |||
- | $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' | ||
- | $albero[$inc][' | ||
- | } else { | ||
- | if (!$filtro) { | ||
- | $albero[$inc][' | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | return $albero; | ||
- | } | ||
- | </ | ||
+ | [[ProgGridAlbero|Progettazione Grid ad Albero]] | ||
+ | {{counter}} visualizzazioni. | ||
sviluppo/grid_albero.1351173461.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)