====== Sottogriglia (subgrid) ======
Con la funzionalità di "sottogriglia" si intende la possibilità, all'interno di una griglia,
di espandere le righe della griglia stessa ed aggiungere a loro interno dell'html od un'ulteriore griglia.
===== Attivazione (da Generator) =====
Per attivare la possibilità di espandere le righe di una griglia, il seguente parametro va aggiunto ai metadati:
^ Chiave ^ Default ^ Valori ^
| subgrid | false | true, false |
Per aggiungere una sottogriglia all'interno delle righe espanse è sufficiente aggiungere, all'interno della griglia, la sottogriglia che si vuole avere (allo stesso livello dei th ed i td),
senza nessun specifico parametro.
===== Eventi =====
Una griglia col parametro "subgrid" abilitato avrà la possibilità di generare due nuovi eventi: **subGridRowExpanded** e **subGridRowCollapsed**, scatenati rispettivamente all'espandere
ed al collassare di una riga.\\
Il primo porta con se anche un dato esclusivo, **subgridDivId**, spiegato nel prossimo paragrafo.
===== Dati =====
I seguenti parametri saranno disponibili nel //$_POST// delle chiamate effettuate in una griglia con paramtro "subgrid" e sottogriglie.
^ Parametro ^ Descrizione ^ Nota ^
| **subgridDivId** | Indica l'ID dello spazio creato al di sotto della riga espansa. Utilizzato in coppia con Out::html per generare dell'HTML relativo alla riga espansa. | Solo con **subGridRowExpanded** |
| **subgridId** | L'ID reale della griglia oggetto dell'evento, da utilizzare per il TableView e per tutte le funzioni che interagiscono direttamente con la griglia. | |
| **childId** | L'ID generico (come da disegno) dell'eventuale sottogriglia presente nella riga oggetto dell'evento. Assente se la riga è collassata o non ci sono subgrid. | |
| **subgridChildId** | L'ID reale dell'eventuale sottogriglia, come spiegato per childId. | |
| **subgridData** | Un array contenente il percorso di griglie e rowid che puntano alla riga oggetto dell'evento. | Spiegato nel successivo paragrafo |
===== Helper =====
Per la gestione di array utilizzanti le subgrid sono state create delle funzioni, all'interno della classe __TableView__, per facilitare l'inserimento, il recupero e la cancellazione dei dati nei sotto-livelli.\\
A questo scopo //itaEngine// ci ritorna la variabile **subgridData**, che contiene tutte le informazioni di cui hanno bisogno le seguenti funzioni.
==== TableView::addSubgridData ====
Aggiunge un sotto-livello in un dato array.
function TableView::addSubgridData($subgridInfo, $arrayData, $subgridId, $subgridData)
^ subgridInfo | $_POST['subgridData'] |
^ arrayData | Array da elaborare. |
^ subgridId | ID della sotto-griglia che si sta aggiungendo. |
^ subgriData | Dati della sotto-griglia che si sta aggiungendo. |
==== TableView::getSubgridData ====
Ritorna i dati della griglia finale in //$subgridInfo//, o della griglia specificata con il parametro //$subgridId//.
function TableView::getSubgridData($subgridInfo, $arrayData, $subgridId = false)
^ subgridInfo | $_POST['subgridData'] |
^ arrayData | Array da elaborare. |
^ subgridId | (opzionale) ID della griglia di cui si vogliono i dati. |
==== TableView::getSubgridRecord ====
Ritorna il record del rowid finale in //$subgridInfo//, o della griglia specificata con il parametro //$subgridId// (il rowid viene sempre preso in //$subgridInfo//).
function TableView::getSubgridRecord($subgridInfo, $arrayData, $subgridId = false)
^ subgridInfo | $_POST['subgridData'] |
^ arrayData | Array da elaborare. |
^ subgridId | (opzionale) ID della griglia di cui si vuole il record. |
==== TableView::deleteSubgridData ====
Cancella i dati della sotto-griglia indicata.
function TableView::deleteSubgridData($subgridInfo, $arrayData, $subgridId)
^ subgridInfo | $_POST['subgridData'] |
^ arrayData | Array da elaborare. |
^ subgridId | ID della sotto-griglia che si vuole cancellare. |
{{counter}} visualizzazioni.