/

Bascules de visibilité et grilles verrouillées

Masquez l'interface Ajouter/Modifier/Supprimer/recherche/pagination avec la famille unset_*() pour construire une grille en lecture seule ou de type borne interactive.

Cosmétique, pas sécurité

Chaque méthode unset_*() masque exactement une fonctionnalité d'interface existante - c'est purement cosmétique. Le point d'accès REST sous-jacent n'est PAS désactivé côté serveur ; un visiteur pourrait toujours envoyer une requête POST/PUT/DELETE directement contre ajax_crud.php avec les mêmes permissions qu'avant. Utilisez ->pass_var()/->where() ou une véritable couche d'authentification si vous avez besoin d'une restriction réellement appliquée. Voir Sécurité : mise sur liste noire des tables et colonnes pour la véritable frontière de sécurité.

La famille unset_*()

MéthodeMasque
unset_add()Le bouton Ajouter de la barre d'outils.
unset_edit()Le bouton Modifier de chaque ligne ET l'édition en ligne par clic sur la cellule - les deux relèvent de "l'édition", une seule bascule désactive donc les deux.
unset_remove()Le bouton Supprimer de chaque ligne.
unset_search()Le champ de recherche simple, les bascules Colonnes/Avancée, le panneau de filtre avancé, le résumé sous forme de puces de recherche active, et le champ de recherche par en-tête de chaque colonne - tout le sous-système de recherche comme un seul bloc.
unset_title()Le titre <h1> de la page que ->page() affiche au-dessus du widget. Aucun effet sur ->render() (le mode intégré n'a jamais eu de titre) ni sur le <title> de l'onglet du navigateur.
unset_pagination()Toute la barre de pagination (boutons de numéro de page, "Affichage de X à Y sur Z", et la liste déroulante de lignes par page). La grille continue de ne récupérer qu'une page de lignes à la fois - il n'y a simplement plus d'interface pour naviguer entre les pages.
unset_limitlist()Uniquement la liste déroulante de lignes par page, en conservant le reste de la barre de pagination. Aucun effet visible si unset_pagination() masque déjà toute la barre.
unset_all()Toutes les bascules ci-dessus en une fois - Ajouter/Modifier/Supprimer, recherche, titre, et pagination (barre + lignes par page). Le regroupement et ->bulk_actions() n'en font PAS partie, puisque ce sont tous deux des fonctionnalités à activation propre via leurs propres appels.

Exemple : une grille de type borne interactive en lecture seule

Ce qui reste après ->unset_all() est un affichage en lecture seule, d'apparence non paginée : les données, des en-têtes de colonne triables, et (si configuré séparément) le regroupement/les actions groupées :

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

Le résultat : pas d'Ajouter/Modifier/Supprimer, pas de recherche, pas de contrôles de pagination, pas de barre de titre propre - mais les colonnes restent triables et les données restent entièrement consultables, simplement non modifiables.