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

Lazarus Pascal Discussion :

Coloration ligne DBGrid [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 349
    Par défaut Coloration ligne DBGrid
    Bonjour à tous
    J'ai une dbf avec une dbgrid.
    Je voudrais colorer une ligne en fonction de la valeur d'un champ.
    J'ai bien trouvé ici et là un bout de code mais tous ne colorent que la cellule.
    J'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
     
      if dbf1.FieldByName('evenement').AsString = '1'
      then
       DBGrid1.Canvas.Brush.Color:=clRed;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
    Mais ça ne fonctionne pas, même avec DefaultDrawing à false.

  2. #2
    Membre prolifique Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 893
    Par défaut
    Bonjour,

    Il me semble que c'est l'évènement OnDrawCell qu'il faut surcharger.

    JS

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 012
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 012
    Par défaut
    Il manque un FillRect. DefaultDrawColumnCell ne se charge que du contenu.

  4. #4
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 349
    Par défaut
    merci AndNotOr
    en ajoutant dbgrid1.Canvas.FillRect(rect)
    ça fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Colorer lignes DBGrid en fonction d'une colonne
    Par juju1988 dans le forum Langage
    Réponses: 21
    Dernier message: 01/08/2013, 12h12
  2. [VBA]Colorer ligne d'une liste
    Par docky dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/04/2007, 14h45
  3. Evenement sur une Ligne Dbgrid
    Par youcef81 dans le forum C++Builder
    Réponses: 4
    Dernier message: 22/07/2006, 23h05
  4. style pour tableau coloré ligne par ligne
    Par peppena dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/10/2005, 14h33
  5. sélection d'une ligne DBGrid par clic
    Par duffman dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/05/2004, 13h45

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