Bonjour
Mes amis , j’arrive pas à mettre une case à cocher dans une DBGrid
Y a t- il quelqu'un qui puisse me donner une idée?
Merci d'avance
Bonjour
Mes amis , j’arrive pas à mettre une case à cocher dans une DBGrid
Y a t- il quelqu'un qui puisse me donner une idée?
Merci d'avance
J'ai la solution en delphi si ça t'interesse de faire le transcodage.
http://delphi.about.com/od/usedbvcl/l/aa082003a.htm
+
+ delphi = la solution
Une solution est de gérer une liste parallèle à ta dbgrid contenant la valeur de ta case à cocher (que tu met à jour sur l'évènement CellClick de la dbgrid). Parallèlement à cela tu as besoin d'une ImageList contenant une représentation graphique d'une case cochée et d'une case non cochée (lst_img_checkbox dans l'exemple).
Ensuite, tu utilises l'évènement DrawColumnCell de la dbgrid et pour chaque enregistrement tu fais le lien entre la valeur contenue dans ta liste et l'affichage. Une fois que tu as récupéré la valeur dans ta liste (vl_etat dans l'exemple), il suffit de redessiner la case qui va bien par la fonction suivante.
Voila, le principe est posé, peut être existe t il une meilleure solution mais celle ci fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 lst_img_checkbox->Draw(obj_db_grid_liste_instructions->Canvas, (Rect.Right + Rect.Left - lst_img_checkbox->Width)/2, (Rect.Top + Rect.Bottom - lst_img_checkbox->Height)/2, (vl_etat==true)? 1 : 0);![]()
Partager