Problème DateTimePicker et DataGridView

Signaler
-
 D4f7 -
Bonjour,

Je code actuellement un programme C# (Visual C# Express 2010) connecté à une BDD Access, j'affiche ma table clients dans une DataGridView et j'ai quelques problèmes auxquels j'aimerais remédier :

1°) Il est possible d'ajouter un client avec par exemple une date de rendez-vous (que l'on a pas forcément au moment de l'ajout...), et j'aimerai rendre possible le fait d'envoyer une valeur nulle dans la BDD, or, par défaut, le contrôle DateTimePicker ne le permet pas. J'ai donc mis la propriété ShowCheckBox sur true, et ajouté ces lignes dans mon bouton de sauvegarde :

if (DateTimePicker_Date_RDV.Checked == false) 
{ 
     DateTimePicker_Date_RDV.Format = DateTimePickerFormat.Custom; 
     DateTimePicker_Date_RDV.CustomFormat = " "; 
} 
else if (DateTimePicker_Date_RDV.Checked == true) 
{ 
     DateTimePicker_Date_RDV.Format = DateTimePickerFormat.Short; 
}


Mais rien n'y fait, j'ai pourtant vérifié à coup de MessageBox si cela passait dans les bonnes boucles et oui, pour autant, dans mon DataGridView, j'ai toujours ma valeur par défaut qui est 01/01/2000...
(Access est configuré de manière à accepter des valeurs nulles dans les champs date)

2°) Au niveau de mon DataGridView, j'utilise l'event CellDoubleClick pour charger les informations déjà présentes sur un client dans un formulaire pour permettre la modification. Mon problème est que ce formulaire apparaît dans le cas d'un simple clic, et non double (ce qui est assez désagréable...), lorsque je clique sur les champs tout en haut comme Nom, Prénom, Civilité, etc... pour faire un tri, il s'affiche aussi, ce que j'aimerai empêcher, et pour finir, si je clique sur une cellule vide il ne s'affiche pas et je voudrai y remédier !!! (j'ai essayé de modifier CellContentDoubleClick en CellDoubleClick mais ça ne fonctionne pas)
Je suis en ReadOnly = true au niveau du DataGridView, je ne sais pas si cela change quelquechose...

Je précise que je débute encore le C# et que c'est vraiment tout frais pour moi !

Par avance merci,
A voir également:

2 réponses

Messages postés
14931
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 octobre 2020
447
Bonsoir,

je n'ai jamais utlisé de DateTimePicker avec un datagridview, mais ce dont je suis sur c'est que
ReadOnly = true
ça empeche l'utilisateur de modifier les données de la grille.



Whismeril
Oui mais je passe par un formulaire pour modifier les données.
Le datagridview est à la base éditable dans toutes les celulles mais bien sur cela ne le modifie pas réellement, je l'ai donc mit sur ReadOnly = true pour pouvoir empêcher l'utilisateur de s'amuser à modifier les cellules pour rien.

Pour ce qui est des DateTimePicker j'ai trouvé un moyen de renvoyer une valeur nulle, mais je n'arrive toujours pas à régler mon problème de formulaire qui apparaît au moindre click sur une cellule ayant une valeur, au lieu d'un double click.