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.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$columns | string|array | - | Elenco di campi separato da virgole, o un array di nomi di campo, nell'ordine di visualizzazione |
$reverse | bool | false | Quando è 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.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$fieldList | string | - | Elenco di campi separato da virgole, nell'ordine in cui il form dovrebbe mostrarli |
$useTabs | bool | false | Quando più chiamate a fields() passano ciascuna un $sectionName, trasforma quelle sezioni in un selettore a schede invece che in sezioni etichettate impilate |
$sectionName | string | '' | 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.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$field | string | - | Colonna da usare per l'ordinamento iniziale |
$direction | string | '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.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$field | string | - | Il nome della colonna sottostante |
$label | string | - | 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();