Remplir un dataGridView a partir d'un fichier XML

M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010 - 3 janv. 2007 à 09:59
dsyann Messages postés 17 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 19 août 2009 - 5 févr. 2008 à 17:09
Bonjour,

Je cherche à remplir une DatagridView à partir d'un fichier XML. Le problème est que je ne sais pas comment representer le contenu du tableau dans mon fichier Xml, je ne sais pas non plus comment remplir rapidement ma datagridView sans avoir à effectué plusieurs itérations sur mon fichier XML.
J'espere avoir été assez clair. Je vous remercie d'avance...

5 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 janv. 2007 à 10:27
Salut,

Est-ce que ton DatagridView est rempli a partir d'un DataSet ?
Si oui, dans ce cas il te suffit d'utiliser la méthode WriteXml de ce dernier.

Mx
MVP C# 
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 janv. 2007 à 10:46
Mince, j'ailu la question trop vite et a moitié

Donc, en fait il suffit d'utiliser la méthode inverse :
Tu charges ton fichier XML dans un DataSet, via la méthode ReadXmlPuis tu affectes ce dataset à la propriété DataSource de ton DatagridView

Mx
MVP C# 
0
M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010
3 janv. 2007 à 12:06
C'est ce que j'avais essayé mais ensuite je n'arrive pas a affiché ce que je veux ...
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 janv. 2007 à 13:32
C'est à dire ?

Pour faire simple :

<hr />DataSet ds =
new
DataSet();
ds.ReadXml(
"tonFichier.xml");

this.dataGridView.DataSource = ds.Tables[0];
<hr />

Mx
MVP C# 
0

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

Posez votre question
dsyann Messages postés 17 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 19 août 2009
5 févr. 2008 à 17:09
Bonjour je ne sais pas si j'ai bien cmpris ta question mais bon je vais essayer et si c pas ca dit le moi.
J'ai declarer un objet de type dcument xml.
J'ai declarer un lecteur de noeud.
et puis mon dataset (si tu le met dans le datset ce tu l'as dis)
Je passe comme argument au dataset le lecteur de noeud.
je genere automatiquement mes colomnes 
puis je joins la propriete datagrid.source a mon dataset.
ainsi que l'element sous la racine a la propriete membre du datagrid.


<hr />

Schematisons tt ca.
Vici mon fichier xml:
+
   -<salarie>
         <nom>
         
    </salarie>
   -<salarie>
         ...  
         ...   
    </salaries>

<hr />

file = "Employes.xml";

xmlfl = new XmlDocument();
xmlfl.Load(this.file);
dataset1 = new DataSet();
lcteurXml = new XmlNodeReader(xmlfl);
dataset1.ReadXml(lcteurXml);
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = dataset1;
dataGridView1.DataMember = "Salarie";

<hr />
Maintenant si tu peux trouver comment avir l'indice de la ligne ce sera super cool car j bute la dessus. (je voudrais par exemple modifier ou supprimer un enregistrement mais selon l'indice du DataGridView.
Merci d'avance de ton idee ou pas !!et je pense avoir ete d'une aide.
0
Rejoignez-nous