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 :

Colorer un record dans un dbGrid


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut Colorer un record dans un dbGrid
    salut tout le monde , ma question est la suivante:
    aprés une opération de recherche je veut que le record (enregistrement ) resultat soit coloré avec un autre coleur ,pour q'uil soit visible.
    merci d'avance équipe developpez.

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    c'est un sujet qui a été déjà évoqué, et à plusieurs endroits, donc une petite recherche t'aurais conduit à ça:

    http://www.developpez.net/forums/d64...-selectionnee/

    si ta recherche aboutit à un résultat alors elle devient l'enregistrement en cours donc la ligne sélectionnée.

    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  3. #3
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut record coloré autmatiquement est pas aprés un click
    merci bacoup pourla réponse;j'ai lusle forum,mais ce que je veut est féfférent un peut:

    j'ai une opération de rechrche ,quand le programme trouve l'enregistrement
    le pointeur de dbgrid pointe au début de la ligne ,ce que je veut que au moment ou le pointeur pointe sur l'anregistrement ce dernierprend une autre couleur automatiquement.

  4. #4
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut le fragment de programme
    voici la procedure de recherche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm4.BitBtn2Click(Sender: TObject);
    begin
      if datamodule6.T1.Locate('agence;t_noeud;n_noeud',vararrayof([EDIT2.text,'p',strtoint(edit4.text)]),[] ) then
      begin
      showmessage ('record found') ;
     
      end
    else showmessage ('recordnot found')
     
     
    end;
    ce que je cherche est de coloré le récord au lieu d'afficher le messge 'record foun',merci beaucoup pour votre aide et 1000 merci groupe developpz

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    salut,

    déjà il y a les options de la DBGrid dgRowSelect et dgAlwaysShowselected sur lesquelles tu peux jouer et ou l'évenement OnDrawColumnCell et l'etat gdSelected .

    Utilises la fonction de Recherche du forum avec un ou plusieurs de ces mots clés , comme l'a dit Kelloucheaeh ce sujet a souvent été débattu (pour obtenir des résultats différents selon les besoins)

    @+
    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

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    faut bien comprendre que si ta recherche aboutit alors le curseur se met automatiquement sur la ligne en question, sauf faudrait peut-être rajouter un Refresh, mais la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If DBGrid1.SelectedRows.CurrentRowSelected
    joue pleinement son rôle qui est dans ton cas l'enregistrement recherché.

    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  7. #7
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut remerciment
    merci beacoup ,je vai essayé puis on continue
    merci autre fois.

  8. #8
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut echec
    croyez mois j'arrive pas à combiner la recherche et le dbgriddracolumncell
    aide mois ca me casse la tete ,mon probléme est claire je pense un petit fragment de codes'ilveut plais.

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    bon, essayes ceci (sans garantie, c'est tapé de mémoire sur un poste n'ayant pas Delphi), ici je ne joue que sur les options de la dbgrid . Peut-être faudra t-il mettre un DBgrid.refresh ou repaint

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm4.BitBtn2Click(Sender: TObject);
    begin
      if datamodule6.T1.Locate('agence;t_noeud;n_noeud',vararrayof([EDIT2.text,'p',strtoint(edit4.text)]),[] ) then
      begin
          DBGrid.Options:=dbGrid.Options+[dgRowSelect,dgAlwaysShowselected ];
      end
    .......
    else begin 
            DBGrid.Options:=dbGrid.Options-[dgRowSelect,dgAlwaysShowselected];
    showmessage('record not found');
    end; 
    end;
    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

  10. #10
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut MERCI BEACOUP

    MERCI BEACOUP.:DsergioMster et tousl'quipe developpez.
    enfin ca marche mais j'ai un tout petit question que signife lq ligne suivante:
    DBGrid.Options:=dbGrid.Options+[dgRowSelect,dgAlwaysShowselected ];
    surtout les options:
    dgRowSelect
    dgAlwaysShowselected
    1OOO merci

  11. #11
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Citation Envoyé par rec82 Voir le message

    MERCI BEACOUP.:DsergioMster et tousl'quipe developpez.
    enfin ca marche mais j'ai un tout petit question que signife lq ligne suivante:
    DBGrid.Options:=dbGrid.Options+[dgRowSelect,dgAlwaysShowselected ];
    surtout les options:
    dgRowSelect
    dgAlwaysShowselected
    1OOO merci
    Salut.
    Je pense que c'est dans les aides de Delphi mais grossomodo
    dgRowSelect : selection de la ligne complete au lieu de la cellule
    dsAlwaysShowSelected : marquer la ligne selectionnée (généralement bleu ou suivant le theme windows)

    A+
    On progresse .....

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    je suis très content d'apprendre que ma proposition fonctionne .

    dgRowSelect,dgAlwaysShowselected sont deux valeurs d'options de la dbgrid (celles que l'on peut mettre a true ou false dans l'inspecteur d'objet de la dbgrid en 'ouvrant' '<Options>'. La seule astuce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBGrid.Options:=dbGrid.Options+[dgRowSelect,dgAlwaysShowselected ];
    consite à savoir les ajouter ou supprimer dynamiquement

    P.S. un petit tag serait bienvenu
    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

  13. #13
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut pour l'intéret
    salut .
    il suffit d'aller dans l'ispecteur d'objet de devloppez la proprieté option
    est mettre dgrowselect et dgalwaysshowselection a true;

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Oui , tout a fait , mais tu avais demandé a ce que cela soit sous condition que l'enregistrement existe . Or , si tu ne désactive/active pas l'option alors ce ne sera pas l'enregistrement demandé qui sera mis en évidence si celui-ci n'existe pas , mais le dernier en cours .
    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

  15. #15
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut
    merci sergiMaster.
    j'ai ajouté cette participation ,juste pour montré aux visiteur de site cette option ,aulieu d'écrire le code que vous m'avez donné,car dans votre premiere
    réponse vous m'avez montré cette astuce mais j'ai arrivé à dicouvrir qu'aprés
    merci toujour SergioMaster (et l'équipe developpez)pour les réponses rapides.

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

Discussions similaires

  1. Tri des valeurs dans un DBGrid
    Par soviet dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/06/2015, 14h18
  2. Problème de coloration de cellules dans un DBGrid
    Par amaurylerouxdelens dans le forum Delphi
    Réponses: 7
    Dernier message: 08/11/2006, 13h47
  3. Records visibles dans un DbGrid
    Par claude dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/04/2005, 10h09
  4. Coloration syntaxique ASM dans un RichEdit
    Par Crick dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2002, 01h53
  5. Stocker un record dans un fichier
    Par ushu dans le forum Langage
    Réponses: 7
    Dernier message: 13/12/2002, 15h51

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