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

Bases de données Delphi Discussion :

Couleur de celulles de DBGRid selon une condition.


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Points : 150
    Points
    150
    Par défaut Couleur de celulles de DBGRid selon une condition.
    Bonjour à Tout le monde des développeurs,

    Comment colorier les cellules d'un dbgrid selon une condition.
    Exemple : la colonne quantité en stock ayant des valeurs nulles.
    ou peut être une condition selon deux ou trois colonnes.

    Merci.

  2. #2
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338

  3. #3
    Membre habitué Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Points : 150
    Points
    150
    Par défaut
    Mon pb a été résolu aprés consultation du lien:

    http://delphi.developpez.com/faq/?pa...#couleurdbgrid

    et ce que j'ai voulu faire le voici :

    procedure Consult.DBGrid1DrawColumnCell(Sender: TObject;
    const Rect: TRect; DataCol: Integer; Column: TColumn;
    State: TGridDrawState);
    begin
    if DataMod.IBQLisArticle.FieldByName('QTE').AsInteger<=5 then
    begin
    DBGrid1.Canvas.Font.Color:=clWhite;
    DBGrid1.Canvas.Brush.Color:=clRed;
    if DataCol = 4 then //4 the column is 'Qté'
    DBGrid1.DefaultDrawColumnCell(rect, Datacol, column, state);
    end;
    if DataMod.IBQLisArticle.FieldByName('DATE_PER').AsDateTime<=Date() then
    begin
    DBGrid1.Canvas.Font.Color:=clWhite;
    DBGrid1.Canvas.Brush.Color:=clRed;
    if DataCol = 5 then //5 the column is 'Date_péremption'
    DBGrid1.DefaultDrawColumnCell(rect, Datacol, column, state);
    end;
    end;

    donc c comment colorier les cellules d'un dbgrid selon une ou plusieurs condition et s'il n'y a pas le test
    if DataCol = n° then
    alors toute la ligne sera colorée, et il faut inclure ce test dans le test de la condition sinon les celules des colonnes supérieures au premier n° seront aussi colorées.

  4. #4
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Tant mieu.


    Sinon il y'a le composant TJvDBGrid de la suite JVCL qui dispose d'un évenement OnGetCellParams qui est je pense mieu adapté a ton besoin.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/06/2007, 10h13
  2. Réponses: 8
    Dernier message: 05/05/2006, 16h33
  3. Affichage selon une condition dans un DBGRID !
    Par obon dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/04/2006, 09h26
  4. Réponses: 5
    Dernier message: 23/02/2005, 09h43
  5. Des couleurs, des collones, un DBGRID, et une crise de nerfs
    Par Yepazix dans le forum Bases de données
    Réponses: 5
    Dernier message: 22/09/2004, 14h51

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