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

 Delphi Discussion :

cocher une DBCheckbox


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par défaut cocher une DBCheckbox
    Bonsoir,

    J'ai relié mon DBGrid à ma base de donnée (qui concerne des Bandes Dessinées).
    En fonction de la BD sélectionnée dans le Grid, j'aimerais afficher une Checkbox cochée si cette BD appartient à une série (table bd et appartient) et décochée dans le cas contraire.
    Si elle n'appartient pas à une série, le no_bd n'est pas dans la table appartient.

    J'ai beau essayé, je n'arrive pas à faire en sorte qu'elle se coche/décoche automatiquement (pas de OnClick).

    J'espère avoir été assez clair, merci d'avance.

    Bonne soirée à vous

  2. #2
    Membre chevronné
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Par défaut
    Salut,

    Je ne sais pas comment tu as procédé, mais dans le principe, j'utiliserai un CommandType := ctQuery dans mon DataSet et non pas un ctTable...

    Dans ma requête, je prendrais tous les champs nécessaires de la table bd à l'affichage de la DBGrid, auxquels j'ajouterais une colonne supplémentaire (que je n'affiche pas dans la grid) avec une jointure sur la table appartient pour récupérer le "statut" de l'appartenance ou non à une série... (dans le genre : un max(count(appartient.bd_id), 1), du coup la colonne ne devrait avoir que des 0 et des 1)...
    Ensuite, je relis la valeur de cette colonne à mon DBCheckBox...

    Pour la syntaxe SQL, ça dépend de la base...

    Sinon, étant donné l'utilisation d'un même dataset pour la dbgrid et le dbcheckbox, cela se cochera/décochera automatiquement...

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    Il y a bien sur la FAQ

    Mais voici ma version personnelle pour mettre une case à cocher dans un DBGrid
    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
    uses ... Windows,Math, grids, DBgrids ....  
    // Permet de dessiner une case a cocher dans une cellule
    // (a lier) a l'évènement OndrawCell de la grille
    procedure GrillePDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; wG: TGrille);
    var
     r : Trect;
    begin
    if (Arow>0) AND (aCol>0) then
     begin
      r.Top:=Rect.Top+4;
      r.Bottom:=Rect.Bottom-4;
      r.Left:=Rect.Left+4;
      r.Right:=Rect.Right-4;
      DrawFrameControl((Sender as TStringGrid).Canvas.Handle,r,DFC_BUTTON,
    IfThen(wG[acol,2]=1,       // <<<<<<  ici la condition >>>>>>               
    DFCS_CHECKED,DFCS_BUTTONCHECK));
     end;
    end;
    Reste plus qu'a définir cette fameuse condition mais je pense que @Whiler a plus ou moins donné la piste

Discussions similaires

  1. peut on cocher, une case a cocher, automatiquement ?
    Par MCarole dans le forum Access
    Réponses: 19
    Dernier message: 17/07/2006, 14h25
  2. Cocher une case à cocher lorsque la feuille est protégée
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/07/2006, 10h04
  3. Cocher une checkbox dans word a partir de vb6
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/07/2006, 10h53
  4. cocher une case+affichage de dates
    Par Toff !!!!! dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 10h07
  5. Cocher une case avec affichage automatique
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 13h36

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