IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Réglage des largeurs de colonnes TDBGrid


Sujet :

Delphi

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 490
    Points : 269
    Points
    269
    Par défaut Réglage des largeurs de colonnes TDBGrid
    Suite à une recherche sur ce sujet j'ai trouvé ceci
    https://www.developpez.net/forums/d2...olonne-dbgrid/

    J'ai trouvé l'idée intéressante, mais fastidieux de décliner le gestionnaire d'évènement GetText sur tous les champs de la table.

    J'ai donc ajouté cette initialisation dans le code (puisque son code est identique pour toutes les colonnes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      for i:=0 to IBTable1.FieldCount-1 do
        IBTable1.Fields[i].OnGetText:=IBTable1MED_NOMGetText;

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    Bonjour,

    Je ne suis pas un fan absolu de cette solution, préférant garder le OnGetText pour des trucs plus pointus comme des transformations de données (exemple : champs date avec UTC).
    De plus, le déclenchement de cet évènement va, AMHA, se faire souvent !

    Pour moi, l'utilisation de DBGrid.width[x] à la création de la forme contenant la grille est plus avantageuse et permettra le resize de colonne dans l'interface utilisateur.

    D'ailleurs quid de ce changement de taille de colonne avec la solution proposée ?

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 704
    Points : 25 574
    Points
    25 574
    Par défaut
    Utiliser le OnGetText pour changer la largueur des Colonnes d'un TDBGrid à la volée, c'est étrange !

    Je suppose que IBTable1MED_NOMGetText change le Width[x] via le Canvas TextWidth donc au fur et à mesure que l'on défile la liste, tu risques de changer la taille de la colonne, pire cela va décaler toutes les autres, une ergonomie douteuse à mon avis.

    Dans un projet en D3 et D7, j'ai opté pour l'agrandissement du RowHeights (un peu plus délicat avec TDBGrid car il faut "hacker" les propriétés protégés) pour afficher plusieurs lignes et pire si l'on veut au défilement adapté dynamiquement.
    Et cela coupler avec le Hint pour afficher le texte qui est plus grand que la cellule

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/02/2016, 15h17
  2. JTable avec des largeurs de colonnes fixées
    Par alakauf dans le forum Composants
    Réponses: 1
    Dernier message: 08/09/2012, 20h31
  3. [XL-2003] Ajustement intempestif des largeurs de colonnes
    Par JM741 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2012, 15h41
  4. [PPT-2003] créer un tableau avec des largeurs de colonnes différentes
    Par headachemaster dans le forum VBA PowerPoint
    Réponses: 7
    Dernier message: 29/12/2010, 23h19
  5. mémoire des largeurs de colonnes d'un datagrid
    Par Golzinne dans le forum Silverlight
    Réponses: 2
    Dernier message: 01/12/2010, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo