Mise à jour d'un dataset à partir d'un datagrid

MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005 - 30 juin 2005 à 14:20
MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005 - 30 juin 2005 à 16:45
Bonjour,
J'aimerai savoir comment remettre à jour un dataset à partir d'un datagrid.

Je m'explique, je remplis mon datagrid à partir d'un dataset, je modifie la première ligne par code puis je veux remettre le contenu de datagrid dans mon dataset.

Mon problème est que je n'arrive pas à récupérer les données de mon datagrid modifié.

Merci

Exemple :

SqlConnection Conn = new SqlConnection(strmachaine);

SqlCommand selectCMD = new SqlCommand("SELECT CodRub, Libelle FROM RUBRIQUE", Conn);

SqlDataAdapter daRUB = new SqlDataAdapter();

daRUB.SelectCommand = selectCMD;


Conn.Open();

DataSet dsRUB = new DataSet();

daRUB.Fill(dsRUB, "RUBRIQUE");

Conn.Close();




dgRubriques.DataSource = dsRUB;

dgRubriques.DataBind();


dgRubriques.Rows[0].Cells[1].Value = "Maj libellé";

DataSet dsRUB2 = new DataSet();

dsRUB2 = (DataSet)dgRubriques.DataSource;

// Réaffichage du nouveau dataset dans la datagrid pour vérification
// Problème = mon dataset n'a pas pris en compte mes modifs.

dgRubriques.DataSource = dsRUB2;

dgRubriques.DataBind();

8 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 juin 2005 à 14:32
il faut que tu "acceptes" les modifications.
dsRUB.AcceptChanges();


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 14:55
J'ai essayé mais cela n'a pas l'air de fonctionner.


J'ai peut-être pas très bien compris, où je dois mettre le dsRUB.AcceptChanges().

En plus, ce que je ne comprends pas c'est que je ne mets pas à jour le dsRUB mais j'essaye d'affecter les modifications de la datagrid à un nouveau Dataset.

Le Dataset dsRUB ne reste pas lié en permanence au datagrid, si ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 juin 2005 à 15:02
biensur que si.
en fait, ce qu'il faut savoir, c'est que le DataGrid ne fait que de l'affichage... c'est le DataSet qui stocke les données.

Met le AcceptChanges() après
dgRubriques.Rows[0].Cells[1].Value = "Maj libellé";


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 15:12
Ca ne marche toujours pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 15:14
Petite précision : je développe sur une interface WEB, peut-être que cela ne fonctionne pas comme en windows.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 juin 2005 à 15:26
essaye :
SqlConnection Conn = new SqlConnection(strmachaine);
SqlCommand selectCMD = new SqlCommand("SELECT CodRub, Libelle FROM RUBRIQUE", Conn);

SqlDataAdapter daRUB = new SqlDataAdapter();

daRUB.SelectCommand = selectCMD;


Conn.Open();

DataSet dsRUB = new DataSet();

daRUB.Fill(dsRUB, "RUBRIQUE");

Conn.Close();




dgRubriques.DataSource = dsRUB;

dgRubriques.DataBind();


dgRubriques.Rows[0].Cells[1].Value = "Maj libellé";

dsRUB.AccepteChanges();

DataSet dsRUB2 = new DataSet();

dsRUB2 = ((DataSet)dgRubriques.DataSource).Clone();

// Réaffichage du nouveau dataset dans la datagrid pour vérification

dgRubriques.DataSource = dsRUB2;

dgRubriques.DataBind();


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 juin 2005 à 15:27
oops

dsRUB.AcceptChanges();

à la place de

dsRUB.AccepteChanges();


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
MagFidu Messages postés 5 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 16:45
Quelque chose doit m'échapper cela ne fonctionne toujours pas.
0
Rejoignez-nous