Indice
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. |
4 visualizzazioni.