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

Les grilles dans Dokos (tables enfants dans les formulaires) offrent plusieurs options de personnalisation pour améliorer votre productivité et adapter l'affichage à vos besoins.

Personnaliser les grilles

Les grilles dans Dokos (tables enfants dans les formulaires) offrent plusieurs options de personnalisation pour améliorer votre productivité et adapter l'affichage à vos besoins.

Ouvrir les lignes dans un panneau latéral

Les lignes de grille s'ouvrent désormais dans un panneau latéral fixe qui glisse depuis la droite de l'écran. Ce changement offre plusieurs avantages :

  • Contexte préservé : Le document principal reste visible en arrière-plan.
  • Navigation fluide : Utilisez les boutons Précédent et Suivant pour naviguer entre les lignes sans fermer le panneau.
  • Fermeture intuitive : Cliquez en dehors du panneau ou appuyez sur Échap pour le fermer.

Redimensionner les colonnes

Exemple — Maison Verte SARL Un commercial de Maison Verte SARL travaille sur un bon de commande contenant 20 lignes d'articles. Il ajuste la largeur de la colonne "Description" pour afficher le texte complet sans troncature, et cette préférence est sauvegardée pour ses futures sessions.

Vous pouvez désormais ajuster la largeur des colonnes directement depuis l'interface utilisateur :

  1. Positionnez le curseur sur le bord droit de l'en-tête de colonne.
  2. Une poignée de redimensionnement apparaît.
  3. Cliquez et faites glisser pour ajuster la largeur.
  4. Relâchez : la nouvelle largeur est automatiquement sauvegardée pour votre utilisateur.

Caractéristiques du redimensionnement

ParamètreValeur
Largeur minimale50 px
Largeur maximale400 px
PortéeSpécifique à chaque grille (ex. : grille des articles sur Bon de commande)
PersistanceSauvegardée entre les sessions pour chaque utilisateur

Bonnes pratiques

  • Double-cliquez sur le bord de l'en-tête pour ajuster automatiquement la largeur au contenu le plus large de la colonne.
  • Les largeurs sont personnelles : chaque utilisateur peut configurer ses préférences sans affecter les autres.
  • Pour les grilles fréquemment utilisées, prenez le temps de configurer des largeurs adaptées à votre workflow.

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

Exemple — Bureau Moderne Sur le bon de commande 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

cur_frm.fields_dict["nom_de_la_table"].grid.set_column_disp_in_list_view(fieldname, show);
ParamètreTypeDescription
fieldnamestringNom interne du champ à masquer ou afficher
showbooleantrue pour afficher, false pour masquer

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

// Dans le script client du bon de commande
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_dispPartagée entre toutes les grilles du même doctype enfantVue édition (lignes dépliées)
set_column_disp_in_list_viewLocale à la grille ciblée uniquementVue liste (lignes condensées)

Configuration avancée des grilles (développeurs)

Configuration des largeurs par défaut

Les administrateurs peuvent définir une largeur par défaut pour les colonnes des grilles depuis Personnaliser le formulaire :

  1. Allez dans Personnaliser le formulaire (menu Configuration ou barre de recherche).
  2. Sélectionnez le type de document enfant concerné (ex. : Ligne de bon de commande).
  3. Pour chaque champ, définissez une largeur par défaut (en pixels).
  4. Cliquez sur Mettre à jour.

Migration des largeurs

Les largeurs des colonnes sont désormais stockées en pixels absolus plutôt qu'en unités de grille Bootstrap. Cette migration assure une meilleure cohérence visuelle et une expérience de redimensionnement plus intuitive.

Événements JavaScript

Les développeurs peuvent écouter les événements de redimensionnement des colonnes :

frappe.ui.form.on("NomDoctype", {
    refresh(frm) {
        frm.fields_dict["nom_table"].grid.on("column_resize", function(fieldname, new_width) {
            console.log(`Colonne ${fieldname} redimensionnée à ${new_width}px`);
        });
    }
});