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 :

Comment trouver les contrôles dans un DBCtrlGrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut Comment trouver les contrôles dans un DBCtrlGrid
    ControlCount vaut toujours 1
    ComponentCount vaut toujours 1

    et à chaque fois c'est un DBCtrlPanel.

    J'ai besoin d'accéder aux contrôles pour modifier la couleur de la police par exemple.

    merci par avances

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Si tu peux attendre demain, je t'envoie des composants (labels, panels) que j'ai créé pour mon boulot et qui te permettent une foultitude de choses au niveau des couleurs (police, fond) et destinés à être utilisés dans un DBCtrlGrid.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut
    je peux attendre demain. d'autant que je m'en resservirai dans le futur

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Je te précise, que le "look" des composant est lui même orienté base de données. Donc la couleur de fond d'un TDBPanel sera déterminée par exemple par un champ enier de la base de données (d'une qui peut être un CalcField, de deux si aucun champ n'est spécifié, j'ai prévu une couleur par défaut...
    Le fonctionnement est identique pour la couleur des polices de caractères.
    Il y a même un compo spécial pour afficher (pas éditer, mais bon) des Champs "Mémo formatté" (donc RTF) dans le DBCtrlGrid (essayez de faire ça avec un TDBRichEdit standard...)

    Voilà, voilà,
    A demain

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut
    pour plus de précisions. Imaginons que chaque ligne de mon DBCtrlGrid contienne un DBText. Je veux pouvoir donner une couleur différente pour chaque DBText.

    Genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Ligne1.DBText1.Color := clRed
    Ligne2.DBText1.Color := clGreen
    Ligne3.DBText1.Color := clBlue
    ...

  6. #6
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Là c'est encore plus simple ! Tu déclares ceci par exemple, et hop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Const NbreCouleurs=3;
             Couleurs:array[0..NbreCouleurs-1] of TColor=(clRed,clGreen,clblue);
     
    //Evènement OnPaintPanel
    procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;  Index: Integer);
    begin
      DBText1.Font.Color:=Couleurs[Table1.RecNo mod NbreCouleurs];
    end;
    Table1.RecNo représente le numéro d'enregistrement.
    Tu peux varier à loisir le nombre de couleurs.

    Voilà, voilà.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut
    merci, ça marche impeccablement.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 25
    Points : 21
    Points
    21
    Par défaut Merci c'est exactement ce que je cherchais
    Merci c'est exactement ce que je cherchais

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

Discussions similaires

  1. [Débutant] Comment trouver les doublons dans une datatable ?
    Par hamza_azerty dans le forum C#
    Réponses: 4
    Dernier message: 21/11/2014, 15h39
  2. Réponses: 14
    Dernier message: 18/02/2014, 17h27
  3. comment trouver les bdd dans le dossier oraclexe
    Par nessing dans le forum Oracle
    Réponses: 0
    Dernier message: 21/11/2010, 12h37
  4. Réponses: 3
    Dernier message: 28/11/2009, 01h38
  5. Comment organiser les contrôles dans une page aspx ?
    Par naturel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/05/2008, 11h53

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