SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006
-
22 août 2006 à 10:34
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006
-
23 août 2006 à 10:16
Je souhaiterai alors afficher dans un dataGrid les informations concernant uniquement les serveurs (c'est à dire une colone pour l'ipServeur, une autre pour l'idServeur, une pour leur type et une quatrième pour leur nom) appartenant à une région dont l'idRegion est stockée dans une variable. Le problème est que je ne sait pas trop comment alimenter mon dataSet afin de ne récupérer que ces noeuds là sachant que après je souhaiterai pouvoir faire les modifier, supprimer...
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 22 août 2006 à 11:51
Salut sebmafate,
je te remerci de te soucier de mon problème :-D
Il me semblait bien qu'il me fallait effectuer une procédure comme celle ci pour répondre à ma question. L'ennui c'est que je m'y perd un peu entre dataSet, dataView dataRow etc !!
Comment dois je m'y prendre pour charger tout mon fichier xml dans une dataTable car jusqu'ici je le chargeais juste dans un dataSet:
DataSet ds =
new DataSet();
ds.ReadXml(Server.MapPath("monFichier.xml"));
De plus je ne comprend pas très bien cette ligne là:
DataRow[] rows = datatable.select("idRegion=1"); == >Qu'aura t-il exactement dans DataRow?? Les informations concernant chaque serveur de la région 1 ??
J'ai essayé avec un dataGridServeurs dont les colonnes sont crées automatiquement au moment de l'excécution.
Celui ci affiche alors deux colonnes et une seule ligne:
RowError | HasErrors
| False
J'ai donc essayé en décochant la propriété générant automatiquement les colonnes. J'ai ajouter une colonnes connexe avec comme champs de données ipServeur.
Mais au moment de l'exécution j'ai une erreur: "Aucun champ ou propriété 'ipServeur' n'a été trouvé dans la source de données sélectionnée"...
D'après moi il s'agirai du dataRow qui n'est pas correct???
Voyez vous d'ou cela peut il venir??
Encore un très grand merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 23 août 2006 à 10:16
Finalement j'ai eu recourt à une "astuce" pour résoudre mon problème. J'ai ajouté un attribut à chaque serveur dans mon fichier xml que j'ai appelé idRegion:
Pour recupérer mes serveurs appartenant à une certaine région il m'a désormais suffit de faire:
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("Regions.xml"));
DataView dv = new DataView();
dv.Table = ds.Tables["serveur"];
// Je crée mon filtre pour ne récupérer que les serveurs qui m'interresse
dv.RowFilter = "idRegion=" + Session["idRegion"].ToString();
dataGridServeurs.DataSource = dv;
dataGridServeurs.DataBind();
Voilà cette méthode fonctionne à merveille si ce n'etait que j'aurai bien aimé trouver la solution sans avoir besoin de modifier mon fichier xml de base, donc si quelqu'un à une idée ;-)