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 :

comment ajuster la taille du tableau dans un DBGrid


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de tomy_libre
    Enseignant
    Inscrit en
    Mars 2009
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2009
    Messages : 114
    Par défaut comment ajuster la taille du tableau dans un DBGrid
    salut à tous,
    Quand je fait une DBGrid avec un TTable , qui affiche un tableau d'une base de donnée, cela marche , mais meme que je diminue la taille des colomne, en exécution les colomne seront tres large , de tell facon que je peut pas voir tous mon tableau, esqu'il y a une méthode pour ajuster le DBGrid pour que je peut voir tous mon taleau en un seul vue,


    et merci d'avance.

  2. #2
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Il y a en gros 2 solutions :
    - soit au niveau des champs, en jouant sur la propriété DisplayWidth,
    - soit en créant toi-même les colonnes de ta grille (clic droit et Editeur de colonnes), et tu peux leur donner la largeur que tu veux.

  3. #3
    Membre confirmé Avatar de tomy_libre
    Enseignant
    Inscrit en
    Mars 2009
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2009
    Messages : 114
    Par défaut
    merci pour ta réponse, mais le proleme que mon BDGrid affiche beaucoup de tab de différent nombre de colomne selon le chois, et je veut que la DBGrid à le meme largeur de table , au niveau affichage , c plus chik non ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    668
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 668
    Par défaut
    salut,

    Quand je fait une DBGrid avec un TTable , qui affiche un tableau d'une base de donnée, cela marche , mais meme que je diminue la taille des colomne, en exécution les colomne seront tres large , de tell facon que je peut pas voir tous mon tableau, esqu'il y a une méthode pour ajuster le DBGrid pour que je peut voir tous mon taleau en un seul vue,
    Je pense que donner une même largeur à toutes les colonnes de ta DBGrid pour l'afficher en une seule vue c'est pas génial, car si t'as un champ qui possède une donnée avec un "width=300",et si tu régleras le "Width" de ta grille par exemple à "100", tu vas masquer cette donnée non?

    Voici ce que je te propose: tu peux ajuster les colonnes de ta DBGrid selon le contenu de chaque champ de ta table(la largeur de la colonne correspond à la plus longue chaine de l'enregistrement):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    procedure AutoSizeDesColonnesDBGrid(Grid: Tdbgrid);
    const
      DEFBORDER = 10;
    var
      temp, n: Integer;
      lmax: array [0..30] of Integer;
    begin
      with Grid do
      begin
        Canvas.Font := Font;
        for n := 0 to Columns.Count - 1 do
          lmax[n] := Canvas.TextWidth(Fields[n].FieldName) + DEFBORDER;
        grid.DataSource.DataSet.First;
        while not grid.DataSource.DataSet.EOF do
        begin
          for n := 0 to Columns.Count - 1 do
          begin
            temp := Canvas.TextWidth(trim(Columns[n].Field.DisplayText)) + DEFBORDER;
            if temp > lmax[n] then lmax[n] := temp;
          end;
          grid.DataSource.DataSet.Next;
        end;
        grid.DataSource.DataSet.First;
        for n := 0 to Columns.Count - 1 do
          if lmax[n] > 0 then
            Columns[n].Width := lmax[n];
      end;
    end;
    pour l'appeler, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     AutoSizeDesColonnesDBGrid(DBGrid1);
    end;
    A+

    NABIL74

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut Demande de conseil sur impression Delphi
    Je me suis trompé.

    Désolé

  6. #6
    Membre confirmé Avatar de tomy_libre
    Enseignant
    Inscrit en
    Mars 2009
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2009
    Messages : 114
    Par défaut
    wi , g trouvé un procédure qui ajuste la taille de colomne suivant son contenu, mais moi je veut ajuster les colomne de telle sorte que tous le table sera afficher , et meme si le tableau soit < à la taille de DBGrid , je veut pas avoir les espace blanc a coté tu vois !!!,
    merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/01/2008, 11h21
  2. Ajuster la taille des champs dans un report
    Par Stéphane Olivier BERNARD dans le forum Access
    Réponses: 3
    Dernier message: 08/08/2007, 16h14
  3. comment augmenter la taille de line dans dbms_output
    Par lifeisgood dans le forum SQL
    Réponses: 13
    Dernier message: 17/01/2007, 15h10
  4. [CR 9.1] comment faire pour ajouter un tableau dans un état?
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 28/03/2006, 14h40

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