IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Liaision Datatable Dataset DataGridView avec BDD type XML [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut Liaision Datatable Dataset DataGridView avec BDD type XML
    Bonjour à tous,

    Je rencontre un problème et mon inexpérience dans le domaine des datagridview est présente

    D'une part j'ai un fichier xml qui se présente sous la forme suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Liste des sites-->
    <Data LastAccess="240" NbMin="20" NbMaxAdd="35" >
      <VersionFile>1.2.9</VersionFile>
      <Accounts>
         <Account id="1" Name="Julien" Age="32" Location="France" Photo ="http://x123.jpg">
            <Projet Actif="N" DateDebut="08/07/2013" DateFin="14/08/2013" Cloture="Y" />
            <Alias Actif="N" Desc="Mise en place" Quota="100.25" />
         </Account>
         <Account id="10" Name="Partice" Age="38" Location="France" Photo ="http://rT45.jpg">
            <Projet Actif="Y" DateDebut="20/05/2014" DateFin="10/09/2014" Cloture="Y" />
         </Account>
         <Account id="100" Name="Valérie" Age="26" Location="France" Photo ="http://DdG4.gif">
            <Projet Actif="Y" DateDebut="01/01/2013" DateFin="14/05/2013" Cloture="N" />
    	<Alias Actif="Y" Desc="Affilation" Quota="97.54" />
         </Account>
      </Accounts>
    </Data>
    J'ai une liste qui contient des valeurs d'index que je dois afficher dans un tableau soit l'exemple suivant:
    _lst_iId[0]=1 > Julien
    _lst_iId[1]=100 > Valérie


    je dois afficher dans un datagridview les informations id, name et l'image contenu dans le lien de l'attribut Photo, ainsi que Actif du noeud Projet, datedebut, datefin et si il existe le Quota du noeud Alias. et accessoirement il faut que je puisse tri les colonnes datedebut, datefin et Quota

    Je me doute que c'est pas forcement des plus simples, mais j'en perds mon latin... J'ai trouvé des exemples avec des requetes SQL mais j'arrive pas a aadpter pour mon cas où j'ai juste le numero d'index que je dois lier à un fichier xml

    Help me, svp !!!

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 9
    Points
    9
    Par défaut
    Bonsoir jpbelmondo59 ,

    Bon tu peux essayer avec ce bout de code , il te montre comment charger des données dans un DataGridView à partir d'un fichier XML.
    Ici, le DataSet utilise le XmlRreader pour lire le contenu du fichier "Product.Xml", essayes de localiser ton fichier Xml en utilisant tjrs XmlReader et passes ce dernier comme paramètre au DataSet , et lorsque le DataSet récupère les données , il va les passer comme source de données (DataSource ) au DataGridView.

    Bon courage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    using System;
    using System.Data;
    using System.Windows.Forms;
    using System.Xml;
    using System.Data;
     
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    XmlReader xmlFile ;
                    xmlFile = XmlReader.Create("Product.xml", new XmlReaderSettings());
                    DataSet ds = new DataSet();
                    ds.ReadXml(xmlFile);
                    dataGridView1.DataSource = ds.Tables[0];
                }
                catch (Exception ex)
                {
                    MessageBox.Show (ex.ToString());
                } 
            }
     
     
        }
    }

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Grand merci dev_sky de m'apporter un peu d'aide...

    Si je comprends bien ton code, sur appui du bouton 1 du charge le fichier xml que tu place dans le dataset.

    Je dois d'abord filtrer le fichier xml pour ne faire apparaitre que les enregistrements avec id contenu dans la liste _lst_iId (dans mon exemple 2 enregistrements)
    et comment liée les colonnes voulus de mon datagridview par rapport à mes attributs pour chaque enregistrement ?

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Vraiment personne ne peut m'aider sur ce coup là ?

    Donc ne visualiser que les enregistrements avec le même identifiants contenu dans ma list int<64> avec l'index l'identifiant
    faire apparaitre que certains attribut de mes noeuds, ainsi que la possibilité de tri de certain type de colonnes...

    Ma demande semble loin d'être complexe, car je suppose que c'est relativement courant d'avoir ce genre de cas...

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut Faisons plus simple....
    Au vue du peu de réponse à mon problème, je me propose de résoudre étape par étape.

    J'ai donc une liste de type <Int 64> qui contient des valeurs d'index qui sont en liaison avec un fichier xml.
    Comment afficher dynamiquement (sans utiliser le designer) dans un datagridview qui possèdera 2 colonnes [identifiant] [nom] le contenu de _lst_iId ?

    Dois-je lire chaque _lst_iID et l'ajouter à mon datagridview ? Faut-il passer par un dataset, un datatable ou utiliser un adapter ?

    Merci de votre retour ou suggestions sur ce sujet :-)

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut MErci de votre aide, je passe en résolu
    AU vue des réponses, je clos le problème...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir datagridview avec un fichier XML
    Par HULK dans le forum VB.NET
    Réponses: 0
    Dernier message: 24/08/2011, 14h34
  2. [c#] Remplir un DataGridView avec plusieurs DataTable
    Par macfred dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/02/2010, 11h02
  3. [VB] faire un update avec une bdd en xml
    Par ekmule dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/02/2006, 22h41
  4. [C#] Remplissage d'un DataSet avec un fichier XML
    Par boleduch dans le forum ASP.NET
    Réponses: 3
    Dernier message: 24/10/2005, 18h13
  5. [VB.NET] Alimenter un dataset avec une chaine XML...
    Par David.V dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/05/2004, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo