====== 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. |