/

Columnas y campos: lo esencial

La cuadrícula y el formulario de creación/edición se configuran de forma completamente independiente - ->columns() controla una, ->fields() controla el otro.

->columns() controla la cuadrícula

->columns($columns, $reverse = false) restringe y ordena qué campos muestra la vista de LISTA (cuadrícula). $columns es una cadena separada por comas o un array de nombres de campo, mostrados en exactamente ese orden. Si nunca se llama: la cuadrícula muestra todas las columnas, en el orden natural de la tabla.

ParámetroTipoPor defectoDescripción
$columnsstring|array-Lista de campos separada por comas, o un array de nombres de campo, en orden de visualización
$reverseboolfalseCuando es true, $columns significa "todos los campos EXCEPTO estos" en lugar de "solo estos"

Establecer $reverse = true es útil en una tabla ancha donde solo quieres ocultar una o dos columnas molestas en lugar de volver a listar todas las demás:

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

->fields() controla el formulario

->fields($fieldList, $useTabs = false, $sectionName = '') restringe y ordena qué columnas muestra el FORMULARIO DE CREACIÓN/EDICIÓN - un asunto completamente separado de ->columns(). Un campo puede aparecer en la cuadrícula pero no en el formulario, o en el formulario pero no en la cuadrícula; cada método solo afecta a su propia superficie.

ParámetroTipoPor defectoDescripción
$fieldListstring-Lista de campos separada por comas, en el orden en que el formulario debe mostrarlos
$useTabsboolfalseCuando varias llamadas a fields() pasan cada una un $sectionName, convierte esas secciones en un selector de pestañas en lugar de secciones etiquetadas apiladas
$sectionNamestring''Agrupa el $fieldList de esta llamada bajo una etiqueta de sección/pestaña con nombre

Consulta Agrupación de campos, pestañas y texto enriquecido para la explicación completa de pestañas/secciones.

Ordenación y etiquetado

->order_by($field, $direction = 'asc') establece el orden inicial de la cuadrícula - los visitantes aún pueden hacer clic en el encabezado de una columna para reordenar después.

ParámetroTipoPor defectoDescripción
$fieldstring-Columna por la que ordenar inicialmente
$directionstring'asc''asc' o 'desc'

->label($field, $label) establece un nombre de visualización personalizado para un campo, usado TANTO en el encabezado de columna de la cuadrícula como en la etiqueta del campo del formulario - una sola llamada cubre ambas superficies.

ParámetroTipoPor defectoDescripción
$fieldstring-El nombre de columna subyacente
$labelstring-Texto mostrado en lugar del nombre de columna original

Uniéndolo todo

$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();