/

Alternancias de visibilidad y cuadrículas bloqueadas

Oculta la interfaz de Añadir/Editar/Eliminar/búsqueda/paginación con la familia unset_*() para construir una cuadrícula de solo lectura o estilo quiosco.

Cosmético, no seguridad

Cada método unset_*() oculta exactamente una funcionalidad de interfaz existente - es puramente cosmético. El endpoint REST subyacente NO se deshabilita del lado del servidor; un visitante podría seguir haciendo POST/PUT/DELETE directamente contra ajax_crud.php con los mismos permisos que antes. Usa ->pass_var()/->where() o una capa de autenticación adecuada si necesitas una restricción realmente forzada. Consulta Seguridad: lista negra de tablas y columnas para conocer el límite de seguridad real.

La familia unset_*()

MétodoOculta
unset_add()El botón Añadir de la barra de herramientas.
unset_edit()El botón Editar por fila Y la edición en línea al hacer clic en la celda - ambas son "edición", así que un único interruptor desactiva las dos.
unset_remove()El botón Eliminar/Borrar por fila.
unset_search()El cuadro de búsqueda simple, los interruptores Columnas/Avanzada, el panel de filtro avanzado, el resumen de chips de búsqueda activa y el cuadro de búsqueda por columna en la cabecera de cada columna - todo el subsistema de búsqueda como una sola unidad.
unset_title()El encabezado <h1> de página que renderiza ->page() encima del widget. Sin efecto en ->render() (el modo embebido nunca tuvo encabezado) ni en el <title> de la pestaña del navegador.
unset_pagination()Toda la barra de paginación (botones de número de página, "Showing X to Y of Z" y el desplegable de filas por página). La cuadrícula sigue trayendo solo el contenido de una página a la vez - simplemente no hay interfaz para moverse entre páginas.
unset_limitlist()Solo el desplegable de filas por página, conservando el resto de la barra de paginación. Sin efecto visible si unset_pagination() ya oculta toda la barra.
unset_all()Todos los interruptores anteriores a la vez - Añadir/Editar/Eliminar, búsqueda, título y paginación (barra + filas por página). La agrupación y ->bulk_actions() NO forman parte de esto, ya que ambas son funciones opcionales con su propia llamada.

Ejemplo: una cuadrícula de quiosco de solo lectura

Lo que queda tras ->unset_all() es una cuadrícula de solo lectura, con apariencia sin paginación: los datos, las cabeceras de columna ordenables y (si se configura por separado) la agrupación/acciones masivas:

$xcrud = Xcrud::get_instance();
$xcrud->table('payments');
$xcrud->route('readonly-grid');
$xcrud->title('Read-Only / Locked-Down Grid');
$xcrud->columns('customerNumber,checkNumber,paymentDate,amount');
$xcrud->label('customerNumber', 'Customer #');
$xcrud->label('checkNumber', 'Check No.');
$xcrud->order_by('paymentDate', 'desc');
$xcrud->unset_all();

El resultado: sin Añadir/Editar/Eliminar, sin búsqueda, sin controles de paginación, sin barra de título propia - pero las columnas siguen siendo ordenables y los datos son totalmente navegables, solo que no editables.