/

Actions groupées

Sélectionnez plusieurs lignes avec des cases à cocher, puis modifiez-les ou supprimez-les toutes en groupe, en une seule requête.

Activation

bulk_actions($enabled = true) ajoute une colonne de cases à cocher - la plus à gauche, avant toute autre colonne - permettant au visiteur de sélectionner plusieurs lignes sur la page courante. Une case "tout sélectionner" dans l'en-tête sélectionne/désélectionne toutes les lignes de la page courante. La sélection n'est pas effacée par un changement de page/recherche/tri, elle persiste donc aussi sur plusieurs pages, jusqu'à être explicitement effacée :

$xcrud->table('products');
$xcrud->columns('productCode,productName,productLine,quantityInStock,buyPrice');
$xcrud->bulk_actions();

Dès qu'un élément est sélectionné, une barre apparaît indiquant le nombre de lignes sélectionnées, avec des boutons Modifier en groupe et Supprimer en groupe.

Suppression en groupe

Supprime toutes les lignes sélectionnées en une seule requête (DELETE ?ids=1,2,3 contre ajax_crud.php - une seule requête WHERE pk IN (...), et non N requêtes séparées), derrière la même confirmation ->remove_confirm() qu'une suppression simple utilise déjà.

Modification en groupe

Ouvre un formulaire listant chaque champ modifiable, chacun avec sa propre case à cocher "appliquer ce champ" à côté d'un contrôle normal adapté au type - décochée (et son contrôle désactivé) par défaut, si bien que rien n'est modifié sauf choix explicite. Seuls les champs cochés sont envoyés, appliqués à toutes les lignes sélectionnées en une seule requête (PUT ?ids=1,2,3). Il n'y a pas de "valeur actuelle" unique à afficher lorsque plusieurs lignes sont concernées, chaque contrôle démarre donc vide/par défaut plutôt que pré-rempli à partir d'une ligne en particulier.

->pass_var() continue de s'appliquer à la fois à la Modification en groupe et à la Suppression en groupe, imposée côté serveur exactement comme pour une création/mise à jour simple.

Tableau des options

AppelEffet
bulk_actions()Active la colonne de cases à cocher, le tout-sélectionner, et la barre d'outils Modifier/Supprimer en groupe. Désactivé par défaut.
bulk_actions(false)Le désactive explicitement.