Je suis désolé mais ça fonctionne toujours pas pour la première ligne c'est à dire que si je clique sur la première ligne-1er colonne en premier, rien ne se passe.
Je comprend pas pourquoi.
P.S : sinon pour le problème suivant --> Je souhaiterais pouvoir juste cliquer sur les NumInterventions(première colonne du datagrid) Comment je peux faire pour faire cela??, j'ai résolu ce problème par un "if".
Hello Loic, alors en fait le souci avec l'evenement
CurrentCellChanged c'est qu'initialement le DataGrid selectionne la celule d'index (0,0) donc la premiere, pour que l'evenement se declenche il faut changer de cellule....
Pour éviter ce souci, il faut plutot implémenter l'evenement MouseDown du DataGrid, comme ceci :
Merci pour cette information, cela fonctionne mais maintenant mon "if" qui doit me permettre de faire que la sélection de la première colonne ne fonctionne plus.
Donc je vois pas comment faire à présent.
Qu'appele-tu X et Y de : hti = monGrid.HitTest(e.X, e.Y); ??
e.X définie l'abscisse de la souris et e.Y définie l'ordonnée de la souris, je t'en ai deja parler plus haut en te disant qu'il fallait recuperer les coordonnées du click de la souris.
On doit utiliser la méthode HitTest pour déterminer sur quel élément de la grille le clic a été effectué et cela par l'intermédiaire de l'evenement MouseDown.
Bien entendu englobe le tout par ton If (dataGrid1.CurrentCell.ColumnNumber.Equals(0))
si tu veux restreindre le click uniquement sur la première colonne.
J'ai une dernière question qui n'a rien avoir mais je voulais savoir si tu savais : en fait voila, j'ai un DateTimePicker qui correspond à la date de prise en charge.
J'aimerais pouvoir enregistrer dans la base "<NULL>" lorsque ce dernier à son 'checked=false'.
Donc j'ai effectué le code suivant :
// Si le dépositaire n'est pas renseigné
// alors <NULL> sera affiché dans la base
string DateCharge="<NULL>";
string Depo="<NULL>";
if(!Depositaire.Text.Equals("")){
Depo=Depositaire.Text;
DateCharge=DatePrisEnCharge.Text;
}
// Si la date de pise en charge n'est pas grisé.
if (DatePrisEnCharge.Checked ==
true){
commander new SqlCommand("UPDATE INTERVENTION SET IN_PRICHARG '" + DatePrisEnCharge.Text + "' WHERE IN_NUMINTER = '" + NumIntervention.Text + "'", connection);commander.ExecuteNonQuery();
}
// Sinon si la date de pise en charge est grisé.
else
if (DatePrisEnCharge.Checked ==
false){
commander new SqlCommand("UPDATE INTERVENTION SET IN_PRICHARG '" + DateCharge + "' WHERE IN_NUMINTER = '" + NumIntervention.Text + "'", connection);commander.ExecuteNonQuery();
}
Mon problème c'est que si le Checked=false, il m'enregistre bien dans la base"<NULL>" mais il m'affiche l'erreur suivante : "System.NullReferenceException:Erreur de syntaxe lors de la conversion d'une valeur datetime à partir d'une chaîne de caractères "
Si ta une idée pour qu'il m'affiche plus l'erreur, je suis preneur car je me prend la tête avec ça depuis quelque temps.
ATTENTION : jve po profiter de ta gentillesse non plus, juste si ta une idée.
merci d'avance et encore merci pour le reste!! C cool!!