/

Colonne e campi: le basi

La griglia e il form di creazione/modifica sono configurati in modo completamente indipendente - ->columns() controlla l'una, ->fields() controlla l'altro.

->columns() controlla la griglia

->columns($columns, $reverse = false) restringe e ordina quali campi mostra la vista LISTA (griglia). $columns è una stringa separata da virgole oppure un array di nomi di campo, mostrati esattamente in quell'ordine. Se non viene mai chiamato: la griglia mostra ogni colonna, nell'ordine naturale della tabella.

ParametroTipoPredefinitoDescrizione
$columnsstring|array-Elenco di campi separato da virgole, o un array di nomi di campo, nell'ordine di visualizzazione
$reverseboolfalseQuando è true, $columns significa "ogni campo TRANNE questi" invece di "solo questi"

Impostare $reverse = true è comodo per una tabella larga in cui si vuole nascondere solo una o due colonne di disturbo invece di rielencare tutto il resto:

$xcrud->columns('internalNotes', true); // show every column except internalNotes

->fields() controlla il form

->fields($fieldList, $useTabs = false, $sectionName = '') restringe e ordina quali colonne mostra il FORM DI CREAZIONE/MODIFICA - una questione completamente separata da ->columns(). Un campo può comparire nella griglia ma non nel form, o nel form ma non nella griglia; ogni metodo influisce sempre solo sulla propria superficie.

ParametroTipoPredefinitoDescrizione
$fieldListstring-Elenco di campi separato da virgole, nell'ordine in cui il form dovrebbe mostrarli
$useTabsboolfalseQuando più chiamate a fields() passano ciascuna un $sectionName, trasforma quelle sezioni in un selettore a schede invece che in sezioni etichettate impilate
$sectionNamestring''Raggruppa il $fieldList di questa chiamata sotto un'etichetta di sezione/scheda

Vedi Raggruppamento campi, schede e testo ricco per l'approfondimento completo su schede/sezioni.

Ordinamento ed etichettatura

->order_by($field, $direction = 'asc') imposta l'ordinamento iniziale della griglia - i visitatori possono comunque cliccare l'intestazione di una colonna per riordinare in seguito.

ParametroTipoPredefinitoDescrizione
$fieldstring-Colonna da usare per l'ordinamento iniziale
$directionstring'asc''asc' o 'desc'

->label($field, $label) imposta un nome di visualizzazione personalizzato per un campo, usato SIA nell'intestazione di colonna della griglia SIA nell'etichetta del campo nel form - una sola chiamata copre entrambe le superfici.

ParametroTipoPredefinitoDescrizione
$fieldstring-Il nome della colonna sottostante
$labelstring-Testo di visualizzazione mostrato al posto del nome grezzo della colonna

Mettendo tutto insieme

$xcrud = Xcrud::get_instance();
$xcrud->table('customers');
$xcrud->route('customers');

// Grid: only these three columns, customerName first
$xcrud->columns('customerName,city,creditLimit');
$xcrud->order_by('customerName', 'asc');

// Form: a different, larger field set
$xcrud->fields('customerName,contactFirstName,contactLastName,city,creditLimit,phone');

$xcrud->label('creditLimit', 'Credit Limit ($)');

$xcrud->render();