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 :

[D10.2] DBGrid et CheckBox


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut [D10.2] DBGrid et CheckBox
    Bonjour,

    Je souhaite gérer une CheckBox dans une colonne de ma DBGRid, pour cela j'utilise DrawFrameControl mais malheureusement il affiche parfois 'vrai' ou faux' lorsque l'on clic sur la CheckBox.

    J'ai mis dgEditing à True dans les options de ma DBGRid, DefaultDrawing à True et j'utilise l'évènement OnDrawColumnCell comme ceci :

    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
     
    procedure TMaFrame.CRDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer;
      Column: TColumn; State: TGridDrawState);
     
    const
          IsChecked : array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK or DFCS_CHECKED);
     var
          DrawState: Integer;
     
    begin
        if (Column.Field.FieldName = 'MaColonne') then
        begin
          DrawState := ISChecked[Column.Field.AsBoolean];
          TCRDBGrid(Sender).Canvas.FillRect(Rect);
          DrawFrameControl(TCRDBGrid(Sender).Canvas.Handle, Rect, DFC_BUTTON, DrawState);
        end;
    end;
    J'ai fait beaucoup d'essais infructueux, je n'arrive pas à trouver comment éviter l'affichage de ce texte 'vrai ou faux' ?

    EDIT : j'ai supprimé la variable DrawRect erreur de copié collé

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Un peu sous forme de devinette je dirais que si la case est associée à un élément de base de données, le texte provient du texte fourni par le record. Peut-être devrais-tu tenter de bidouiller le GetText au niveau de ton dataset.

  3. #3
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Citation Envoyé par pprem Voir le message
    Un peu sous forme de devinette je dirais que si la case est associée à un élément de base de données, le texte provient du texte fourni par le record. Peut-être devrais-tu tenter de bidouiller le GetText au niveau de ton dataset.
    Merci pprem pour ta réponse, le dataset associé est en fait un TVirtualTable ( c'est un composant de Devart ), devrais je regarder du côté de AfterEdit ou OnUpdateRecord ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 109
    Par défaut
    Bonjour à tous,

    Il y a très longtemps (D6) j'avais fait qq'chose qui ressemblait à çà:
    https://www.greelane.com/fr/science-...bgrid-4077440/
    et çà marchait très bien.

    solilog

  5. #5
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Citation Envoyé par solilog Voir le message
    çà marchait très bien.
    avant ou après la traduction en français du texte avec les codes sources ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Décembre 2014
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 109
    Par défaut
    Oups, pardon, erreur sur le lien, c'est vrai je deviens vieux et j'ai répondu un peu vite (quoique le principe est correct).
    En fait c'est là.
    https://stackoverflow.com/questions/...-dbgrid-themed

    solilog

Discussions similaires

  1. DBgrid et checkBox
    Par Klemsy78 dans le forum Delphi
    Réponses: 2
    Dernier message: 27/10/2006, 08h13
  2. CheckBox dans DbGrid
    Par louiwahl dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/01/2006, 10h59
  3. Sélection automatique de tous les checkbox d'un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/08/2005, 09h55
  4. Cochage des checkbox d'un dbgrid
    Par kose dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/01/2005, 16h26

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