Salut,
voila jai un pb avec mon datagrid, je travaille sur Visual 2003.
En fait je me suis appercue que si je viens a changer des donnees dans mon datagrid et que je souhaite enregistrer mes changements a l'aide de l'evenement Leave, mon tout dernier changement n'est pas pris en compte.
J'ai d'abord pense que je faisait une mauvaise manip mais j'ai reproduit la situation de facon tres simple et en effet le dernier changement n'est pas pris en compte.
Je vous envois la partie de code que j'ai recree afin que vous puissiez tester par vous meme.
private
void Form1_Load(object sender, System.EventArgs e){
OleDbConnection oConnexion=new OleDbConnection();DataSet oDataSet=
new DataSet();string chemin =Application.ExecutablePath;String p;
p = Application.ExecutablePath;
p=p.Substring(0, p.LastIndexOf("\\"));
string strConnString = maConnection;oConnexion.ConnectionString=strConnString;
oleDbConnection1 = oConnexion;
string str = maRequete;
oleDbConnection1.Open();OleDbCommand cmd=
new OleDbCommand(str, oleDbConnection1);OleDbDataAdapter adapter =
new OleDbDataAdapter(cmd);DataSet ds =
new DataSet();adapter.Fill(ds);
oleDbConnection1.Close();
dataGrid1.DataSource=ds.Tables[0];
}
private
void dataGrid1_Leave(object sender, System.EventArgs e){
for
(int i=0; i<dataGrid1.VisibleRowCount-1; i++){
int nb=Convert.ToInt32(dataGrid1[i,0]);string code=dataGrid1[i,1].ToString();string heure=dataGrid1[i,2].ToString();int montant=Convert.ToInt32(dataGrid1[i,3]);bool livre=Convert.ToBoolean(dataGrid1[i,4]);}}Voila , par exemple si la derniere manip est de changer le 'nb' alors en mettant un break point sur le Leave et en passant dessus vous verrez que le 'nb' sera le meme qu'il y avait avant changement
Je ne sais pas quoi faire, est-ce que ca vous fait la meme chose et quesque je peux faire?
sandra
