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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 502
    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 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    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
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 086
    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
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/02/2016, 14h17
  2. JTable avec des largeurs de colonnes fixées
    Par Invité dans le forum Composants
    Réponses: 1
    Dernier message: 08/09/2012, 19h31
  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, 14h41
  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, 22h19
  5. mémoire des largeurs de colonnes d'un datagrid
    Par Golzinne dans le forum Silverlight
    Réponses: 2
    Dernier message: 01/12/2010, 17h44

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