Affichage personnalisé des colonnes & champs
Mettre en forme les colonnes de grille et les champs de formulaire sans toucher aux données sous-jacentes - motifs, troncature, infobulles, mise en surbrillance et popups en lecture seule.
Composer un motif d'affichage
->column_pattern($field, $pattern) remplace la valeur affichée d'une colonne par un modèle qui peut intégrer D'AUTRES colonnes de la même ligne via {placeholder}. Affichage uniquement - éditer le champ (en ligne ou dans le formulaire) affiche/enregistre toujours sa véritable valeur propre.
$xcrud->column_pattern('customerNumber', 'Customer #{customerNumber} - {city}');
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
$field | string | - | Colonne dont la valeur affichée est remplacée |
$pattern | string | - | Texte du modèle ; {placeholder} référence n'importe quelle colonne en liste blanche de la ligne |
Tronquer un texte long
->column_cut($field, $length) tronque le texte affiché d'une colonne à $length caractères, en ajoutant une ellipse en cas de coupure. La valeur complète reste disponible via une infobulle au survol, et l'édition en ligne affiche toujours la valeur non tronquée.
$xcrud->column_cut('description', 60);
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
$field | string | - | Colonne à tronquer |
$length | int | - | Nombre maximal de caractères affichés avant l'ellipse |
Style et indices
->column_class($field, $class) ajoute une classe CSS supplémentaire à l'en-tête d'une colonne et à chacune de ses cellules (par exemple, aligner à droite une colonne numérique). ->column_tooltip($field, $text) ajoute une icône d'indice au survol à côté d'un en-tête de colonne. ->column_width($field, $width) définit une largeur de colonne fixe (par exemple '200px' ou '20%').
$xcrud->column_class('creditLimit', 'text-right');
$xcrud->column_tooltip('creditLimit', 'Maximum outstanding balance allowed.');
$xcrud->column_width('creditLimit', '140px');
| Méthode | Paramètres | Description |
|---|---|---|
column_class | $field, $class | Classe CSS supplémentaire sur l'en-tête et les cellules de la colonne |
column_tooltip | $field, $text | Indice au survol sur l'en-tête de colonne |
column_width | $field, $width | Largeur de colonne fixe |
->field_tooltip($field, $text) en est l'équivalent côté formulaire - un indice au survol à côté du libellé propre à un champ de formulaire plutôt qu'un en-tête de grille.
$xcrud->field_tooltip('creditLimit', 'Maximum outstanding balance allowed.');
Mise en surbrillance conditionnelle
->highlight($field, $operator, $value, $class) colore l'arrière-plan d'une seule cellule lorsque sa valeur correspond à une comparaison. ->highlight_row($field, $operator, $value, $class) fait de même pour la ligne entière. $operator accepte des symboles (=, !=, >, >=, <, <=) ou des codes (eq, neq, gt, gte, lt, lte, contains, starts, ends).
$xcrud->highlight('creditLimit', 'gt', '100000', 'xcrud-hl-warn');
$xcrud->highlight_row('status', 'eq', 'overdue', 'xcrud-hl-danger');
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
$field | string | - | Colonne lue par la comparaison |
$operator | string | - | Opérateur de comparaison (symbole ou code) |
$value | string | - | Valeur à comparer |
$class | string | - | Classe CSS appliquée lorsque la comparaison correspond |
Plusieurs règles peuvent correspondre à la même cellule/ligne - les classes s'accumulent au lieu de se remplacer. Voir Rendu personnalisé des cellules : badges & avatars pour associer la mise en surbrillance à un balisage de badge/avatar.
Popup en lecture seule pour les valeurs longues
->modal($field) fait en sorte que la cellule d'une colonne non éditable ouvre sa valeur complète dans une popup en lecture seule au clic, au lieu de ne rien faire ou de déclencher l'édition en ligne.
$xcrud->modal('description');