Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
Personnalisation

Personnaliser les grilles

Ouvrir une ligne de table enfant, redimensionner et configurer les colonnes, et masquer une colonne par script.

Personnaliser les grilles

Une grille est une table enfant dans un formulaire, par exemple les articles d'une commande. Vous pouvez ouvrir une ligne en détail et adapter la largeur et la liste des colonnes. Ces réglages sont personnels.

Ouvrir une ligne

Cliquez sur l'icône d'édition au bout d'une ligne, ou placez-vous sur la ligne et appuyez sur Entrée. La ligne s'ouvre dans un panneau flottant au-dessus du formulaire, intitulé « Modification de ligne #n ».

Le panneau propose ces actions :

BoutonAction
Insérer au-dessus, Insérer en dessousAjoute une ligne vide avant ou après la ligne.
DupliquerCopie la ligne juste en dessous.
DéplacerDemande le numéro de ligne cible (« Move to Row Number ») et y déplace la ligne.
SupprimerSupprime la ligne.
RéduireFerme le panneau. Un clic sur l'en-tête du panneau le ferme aussi.

Redimensionner une colonne

Exemple fictif : un commercial travaille sur une commande de 20 lignes. Il élargit la colonne « Description » pour lire le texte entier. La largeur est gardée pour ses prochaines commandes.

  1. Placez le curseur sur le bord droit de l'en-tête de colonne.
  2. Faites glisser la poignée jusqu'à la largeur voulue.
  3. Relâchez le bouton de la souris.

La largeur est enregistrée tout de suite, pour vous seul.

PointValeur
Largeur minimale60 px
Largeur maximale600 px
PortéeLe type de ligne dans ce type de document (par exemple les articles des commandes client)
DisponibilitéOrdinateur uniquement. Pas de redimensionnement sur mobile.

Choisir les colonnes affichées

  1. Cliquez sur l'icône de réglage à droite de l'en-tête de la grille.
  2. Dans « Configurer les colonnes », ajoutez, retirez ou réordonnez les champs.
  3. Saisissez une largeur en pixels dans la colonne de largeur, si besoin. Dodock la ramène entre 60 et 600 px.
  4. Cliquez sur Mettre à jour.

Réinitialiser par défaut revient aux colonnes définies dans le type de document.

Sans réglage personnel, la largeur vient de la propriété « Colonnes » du champ (de 1 à 12, convertie de 60 à 600 px), puis du type de champ.

Masquer des colonnes dans la vue liste d'une grille par script

Exemple — Bureau Moderne Exemple fictif : sur la commande client de Bureau Moderne, la grille des articles affiche par défaut la colonne "Taux unitaire". Un développeur souhaite la masquer uniquement dans cette grille, sans affecter d'autres formulaires utilisant le même type de ligne d'article.

Dans un formulaire Dokos, une grille (table enfant) peut afficher ses lignes sous deux formes : la vue liste (lecture seule, affichage condensé des lignes) et la vue édition (formulaire d'une ligne). Il est parfois utile de masquer une colonne dans la vue liste d'une grille précise, sans impacter les autres grilles qui partagent le même type de document enfant.

Pour les développeurs — set_column_disp_in_list_view

La méthode set_column_disp_in_list_view(fieldname, show) disponible sur l'objet Grid permet de masquer ou d'afficher une colonne dans la vue liste d'une grille, de manière locale à cette grille uniquement.

Signature

frm.fields_dict["nom_de_la_table"].grid.set_column_disp_in_list_view(fieldname, show);
ParamètreTypeDescription
fieldnamestring ou tableauNom interne du champ, ou liste de champs
showbooleantrue pour afficher, false pour masquer

Exemple — masquer la colonne "Taux unitaire" dans la grille des articles

// Dans le script client de la commande client
frappe.ui.form.on("Sales Order", {
    refresh(frm) {
        frm.fields_dict["items"].grid.set_column_disp_in_list_view("rate", false);
    }
});

Différence avec set_column_disp

MéthodePortéeVue affectée
set_column_dispChange la propriété « Masqué » du champ, partagée par les grilles du même doctype enfantVue liste et vue édition
set_column_disp_in_list_viewLocale à la grille ciblée uniquementVue liste (lignes condensées)