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:36] – 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 18: | Linea 18: | ||
* **{hidden: | * **{hidden: | ||
+ | [[ProgGridAlbero|Progettazione Grid ad Albero]] | ||
+ | {{counter}} visualizzazioni. | ||
- | ---- | ||
- | ==== 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:== | ||
- | < | ||
- | ..... | ||
- | $this-> | ||
- | $arr = array(' | ||
- | ' | ||
- | |||
- | $griglia = new TableView($this-> | ||
- | $griglia-> | ||
- | $griglia-> | ||
- | .... | ||
- | </ | ||
- | \\ | ||
- | ------ | ||
- | |||
- | === menLib === | ||
- | == Funzione GetMenu == | ||
- | |||
- | **Codice nella " | ||
- | |||
- | < | ||
- | |||
- | | ||
- | $inc = 0; | ||
- | $albero = array(); // Setta $albero come array | ||
- | $albero[$inc][' | ||
- | |||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $albero[$inc][' | ||
- | $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][' | ||
- | |||
- | // Aquisizione privilegi | ||
- | $sql = " | ||
- | $Ita_menu_rec = ItaDB:: | ||
- | |||
- | if ($filtro) { | ||
- | // Se è un menu, verifico se esiste effettivamente | ||
- | if ($Ita_puntimenu_rec[' | ||
- | $sql = " | ||
- | $Ita_menu_giu_rec = ItaDB:: | ||
- | if (!$Ita_menu_giu_rec) { | ||
- | unset($albero[$inc]); | ||
- | continue; | ||
- | } | ||
- | } | ||
- | |||
- | $utente = $this-> | ||
- | $gruppi = $this-> | ||
- | $defaultVis = App:: | ||
- | $privilegio = $this-> | ||
- | if (!$privilegio) { | ||
- | unset($albero[$inc]); | ||
- | continue; | ||
- | } | ||
- | } else { // Sto amministrando tramite menAuthConfig!!!!! | ||
- | $gruppo = $_POST[$this-> | ||
- | $sql = " | ||
- | $Men_permessi_rec = ItaDB:: | ||
- | if ($Men_permessi_rec) { | ||
- | $albero[$inc][' | ||
- | ..... | ||
- | } else { | ||
- | $albero[$inc][' | ||
- | ..... | ||
- | $albero[$inc][' | ||
- | } | ||
- | |||
- | // Icone per griglie ' | ||
- | $privilegio = $this-> | ||
- | $albero[$inc][' | ||
- | ..... | ||
- | $privilegio = $this-> | ||
- | $albero[$inc][' | ||
- | } | ||
- | // Fine acquisizione privilegi | ||
- | |||
- | if ($Ita_puntimenu_rec[' | ||
- | $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; | ||
- | } | ||
- | </ |
sviluppo/grid_albero.1351172182.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)