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

Composants VCL Delphi Discussion :

Colorier chaque ligne différement dbgrid


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Colorier chaque ligne différement dbgrid
    salut tout le monde ;j'ai une trés interressante question (sous delphi)
    j'utilise un dbgrid comme suit:

    N° x y point_centre classe_centre

    1 1,00 1,00 False 5
    2 2,00 1,00 False 5
    3 4,00 3,00 False 6
    4 5,00 4,00 False 6
    5 1,5 1,00 True
    6 4,5 3,5 True

    je veux colorieer chaque ligne contenant true par une couleur différent(claire)
    et les lignes contenant classe_centre les memes par une couleur (foncé)
    ex :ligne numéro 5___rose
    lignes numéro 1 et 2 ___rouge
    initialement (pendant la programmation) je ne connais pas le nombre de points centres pour cela j'ai déclarer:
    tabcolor: array[1..151] of TColor=($CBC0FF,$9314FF,$00D7FF,$DDA0DD.......); voici mon code:
    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
    procedure TForm6.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var z:integer;
    begin
    for z:=0 to table1.recordcount-1 do
      begin
        table1.First;
        table1.MoveBy(z);
        if table1.FieldValues['centre_true']=true then
          begin
            DBGrid1.Canvas.brush.Color := tabcolor[couleur+1];
            series1.AddXY(table1.FieldValues['x'],table1.FieldValues['y'],'',tabcolor[couleur+1]);
           // if (datacol=0)  then
            DBGrid1.DefaultDrawColumnCell(Rect,2,column,State);
            couleur:=couleur+1;
          end;
      end;
    end;
    j'utilise beaucoup de solutions mais sans aucune faisabilité
    aidez moi svvvvvvvvvvvvvvvvvvp
    ma consultation est assez proche
    merci d'avance.....

  2. #2
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 109
    Points : 61
    Points
    61
    Par défaut
    Hi,
    Voici Une solution, j'ai testé ça have fun

    et n'oubliez pas d'ajouter dans la section uses db

    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
    implementation
     
    {$R *.dfm}
    type
     
      AlternGrid = class(TCustomDBGrid);
     
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
     
    var dataset:TDataSet;
    begin
    dataset:= (Sender as TDBGrid).DataSource.DataSet;
    with AlternGrid(Sender) do
    begin
    if (DataSet.RecNo mod 2 = 1 ) then
    Canvas.Brush.Color := $00E6D9C4
    else
    Canvas.Brush.Color := $00EAF7FF;
    if  DataLink.ActiveRecord = Row -1 then
    begin
    Canvas.Font.Color:=clwhite ;
    Canvas.Brush.Color:=clblack;
    end;
     
    end ;
    DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column, State);
    end;

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    salut
    mais je ne veux pas cette solution , je veux colorier chaque ligne par une couleur différent(rouge,vert,bleu,...........)
    merci

Discussions similaires

  1. colorier une ligne dans un DBgrid
    Par looping dans le forum Langage
    Réponses: 1
    Dernier message: 12/12/2008, 08h22
  2. [DBGrid]Colorier la ligne sélectionnée
    Par lordcuty dans le forum Bases de données
    Réponses: 5
    Dernier message: 10/11/2008, 08h05
  3. [VBA-E] Colorier à chaque fois la ligne selectionné
    Par azerty dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/01/2007, 13h49
  4. Hint sur chaque ligne d'un DBgrid
    Par Papino dans le forum Bases de données
    Réponses: 8
    Dernier message: 23/08/2006, 14h36
  5. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15

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