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 :

DBGrid qui perd la couleur de ses lignes


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 13
    Points
    13
    Par défaut DBGrid qui perd la couleur de ses lignes
    salut tous le monde: j'ai un probleme de sauvegarde de couleur d'une ligne ou plusieures d'un DBGrid .
    lorsque je colore une ligne d'un DBGrid (ligne de DBGrid=Enregistrement d'une table paradox) par click sur un boutton :
    (voici le 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
    19
    procedure TForm1.BitBtn5Click(Sender: TObject);
    begin
      dbgrid1.selectedRows.currentRowSelected := true ;
     
    end;
     
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var j: integer;
    begin
      j := Table1.RecNo;
          if (TDBGrid(Sender).DataSource.DataSet.FieldByName('Numéro_Cmds').Value=j) AND (dbgrid1.selectedRows.currentRowSelected = true) then
          begin
              TDBGrid(Sender).Canvas.Brush.Color := clRed;
              TDBGrid(Sender).DefaultDrawColumnCell(rect,datacol,column,state);
     
          end;
     
    end;
    lors de la prochaine ouverture de la table ou exécution de l'application , je perds la couleur de la ligne ou des lignes colorées
    comment sauvegarder l'etat des ligne (cad colorées) merci bien pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Il faut pour cela "sauvegarder l'état de la ligne" dans la table . Donc , ajout d'un champ ,
    et dans la partie BitBtn5Click edit de l'enregistrement, mise a jour du champ et post.

    de plus il faudra revoir la partie Drawcolumncell de façon a ce que ce soit ce nouveau champ qui soit pris en compte
    P.S. je ne vois pas l'intérêt de j:=Table1.RecNo;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Cette situation me paraît logique car les lignes marquées dans ton dbgrid sont supprimées lors de la fermeture de ta table.

    Pour permettre de retrouver la couleur de tes lignes, il est nécessaire de sauvegarder les lignes à colorier dans ta base de données (Paradox pour ton cas).

    Pour cela, il convient d'ajouter une colonne dans ta table qui contiendra l'information que la ligne est à colorier.

    Après, il te conviendra d'adapter ton code dans DBGrid1DrawColumnCell

    Bon courage
    @SergioMaster a été plus rapide que moi

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 13
    Points
    13
    Par défaut DBGrid qui perd la couleur de ses lignes
    Salut
    merci à vous c résolu

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

Discussions similaires

  1. comment changer la couleur d'une ligne dans dbgrid?
    Par dj_techno dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/10/2008, 08h25
  2. Changer la couleur d'une ligne entière d'un dbgrid
    Par kurkaine dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/08/2006, 13h47
  3. tableau qui a deux couleur pour les lignes <td>
    Par abdess6600 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/05/2006, 16h50
  4. Changer la couleur d'une ligne dans un DBGrid
    Par fba dans le forum Composants VCL
    Réponses: 5
    Dernier message: 24/10/2005, 20h30
  5. Comment donne une couleur a une ligne dans un DBGrid
    Par samy84s dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/09/2005, 23h22

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