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 :

C#.NET_DataGrid, Winform et XMl


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 46
    Par défaut C#.NET_DataGrid, Winform et XMl
    Bonjour à tous,
    Je suis un bleu et j'ai grandement besoin d'aide...J'aimerai pouvoir en Winform (C#.NET), réaliser une datagridview qui affiche les données d'un formulaire XML et en rajoute selon la volonté de l'utilisateur. En outre, l'utilisateur pourra choisir la donnée affichée via une CheckList, auquel cas, une boite de dialogue lui confirmera que son choix a été pris en compte.

    Je vais prendre un exemple concret, supposons que j'ai une liste de 3 groupes (noms, prénoms, âge) en XML.
    Etape 1: Créer une datagridview qui affiche les éléments de la liste en 3 colonnes (Une colonne pour les noms, une colonne pour les prenoms, une colonne pour les ages)
    Etape 2: Pouvoir ajouter un nom, un prénom et l'âge dans la datagridview puis sauvegarder directement dans le formulaire XML.
    Etape 3: Créer 3 colonnes de CheckList pour pouvoir cocher chacun des éléments voulus (noms, prenom, age)...Une CheckList pour chaque groupe.
    Etape 4: Pouvoir ajouter l'un ou l'autre des éléments cochés de la datagrid (nom, prenom, age) via un bouton ajouter
    Etape 5: Pouvoir confirmer l'action faite (Nom ajouté par exemple)

  2. #2
    Membre éclairé
    Homme Profil pro
    Technicien Cyber-Sécurité
    Inscrit en
    Juillet 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien Cyber-Sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 38
    Par défaut C#.NET_DataGrid, Winform et XMl
    Salut, alors j'ai pas le même level que tous les autres mais c'est dans mes cordes:

    Etape 1: dans ton concepteur de vu => Form1.cs [Design] sous Visual Studio 2008, commence par ajouter un contrôle Datagridview à ta form1.
    Ça peut paraître nul mais ça peut arriver d'oublier hein !
    Bon tu prends ta souris et tu clic droit sur ton DatagridView puis ajouter colonnes.
    Une fois la fenêtre d'ajout ouverte, tu en ajoute à ta convenance.
    Alors à toi de voir si tu veux des checked ou des string, simplement, garde à l'esprit que tu utilise du XML.
    Il faudra donc que tu respecte l'ordre de tes colonnes en fonctions des paramètres de ton XML, sinon c'est la défaite.

    <Parametres>
    <Parametres2 nom="merco" prenom="grosso" age="42"</Parametres2>
    ...
    ...
    </Parametres>

    => Colonne1 = nom
    => Colonne2 = prénom
    => Colonne3 = age

    A dans 1 Heure pour l'étape 2.

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien Cyber-Sécurité
    Inscrit en
    Juillet 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien Cyber-Sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 38
    Par défaut C#.NET_DataGrid, Winform et XMl
    Re, désolé pour le retard... j'avais faim.
    Etape 2: Bon pour cette étape, ce qui est optimal (au lieu de coder en brut le XML dans ton form), c'est d'utiliser dans un premier temps la méthode Load.xml("url") afin que ton fichier XML de base soit chargé en mémoire.
    Etant donné que tu veux ajouter/supprimer directement dans le formulaire XML, il te faut une méthode de lecture et d'écriture.

    Tu as le choix:
    -ReadXml + WriteXml: lecture seul puis écriture seul, simple à imbriquer, processus lourd en bouclage au final.
    -XmlDocument: Optimal, lecture écriture sauvegarde etc... ne fait pas la cuisine par contre. (Ne pas confondre XmlReader/XmlWriter avec ceux d'au dessus, ici on lit par nœuds)
    -Serialization: Plus complexe, mais plus fluide.

    Quoi qu'il en soit, n'oublie pas les using.system.xml etc...

    Ma préféré, la XmlDocument, une fois qu'on a compris la lecture du premier nœud, le reste suit.
    Si ça intéresse quelqu'un dites le moi...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 46
    Par défaut Merci Nexaelia
    J'essayerai cela ce soir et je te donnerai le retour. Merci encore et désolé pour le retard, j'étais en déplacement ...

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien Cyber-Sécurité
    Inscrit en
    Juillet 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien Cyber-Sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 38
    Par défaut C#.NET etc...
    Pas de problème.

    En fait ton étape 2 n'est pas terminé. Je vais te copier un exemple de fichier XML pour que ce soit plus compréhensible.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <!--<?xml version="1.0"?>-->   (<!-- ... --> c'est du commentaire, tu n'est pas obligé à chaque fois de donner la version et l'encodage ex: UTF8, c'est pour le client ou la propreté)
    <Lenomduprojet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     <NoeudParent>
    <NoeudEnfant nom="Bim" prenom="Pierre" age="20" </NoeudEnfant>
    <NoeudEnfant nom="Bam" prenom="Paul" age="25" </NoeudEnfant >
    <NoeudEnfant nom="Boom" prenom="Jacques" age="30" </NoeudEnfant >
     </NoeudParent>
    </Lenomduprojet>
    Dans l'exemple du haut, tu auras donc trois colonnes: nom, prenom, age, uniquement en "TextBoxColumn", à modifier, selon ton envie, avec sauvegarde en temps réel (tu verras plus tard).

    Cependant, à l'étape 3, tu parles aussi de "checkable" donc des colonnes avec case à cocher: "CheckBoxColumn". Tu te doute bien que ça va se jouer au True or False. Si tu tiens absolument à avoir 3 "checkboxcolumn", tu peux
    ajouter entre chaque paramètre, sa copie avec un "2" pour le cocher. Autrement mieux à mon avis, ajouter une seul colonne que tu peux nommer "actif" ou comme tu veux hein à cocher valable pour toute la ligne.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <NoeudEnfant nom="True" nom2"Bim" ... </NoeudEnfant>
    <NoeudEnfant nom="False" nom2"Bam" ... </NoeudEnfant >
    <NoeudEnfant nom="True" nom2"Boom" ... </NoeudEnfant >    ==> c'est pas vraiment joli, mais je vais chercher une autre méthode pour activer/lier les deux en un.
    ou alors :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <NoeudEnfant actif="True" nom"Bim" ... </NoeudEnfant>
    <NoeudEnfant actif="False" nom"Bam" ... </NoeudEnfant >
    <NoeudEnfant actif="True" nom"Boom" ... </NoeudEnfant >     ==> un peu plus sexy. :mrgreen:
    Pour les directives using:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using System.IO;
    using System.Xml;
    using System.Xml.XPath;
    using System.Data.OleDb;
    Pas besoin de la "xml.configuration;"

    Ça devrait se présenter comme ça dans ton code:
    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
    namespace tonnomdeprojet
    {
        public partial class Form1 : Form
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlNodeList itemNodes;
            //bool start = true;   // celui-ci je t'expliquerai plus tard
     
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                //Chargement du fichier xml à l'emplacement cible
    //            Je te laisse cogiter un peu pour pas te donner un code complet, sinon c'est pas ludique et c'est comme si je te volais ton taff. :weird:
             }
          }
     }

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 46
    Par défaut hmm
    Je dois avouer que j'ai vraiment du mal! -_-

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

Discussions similaires

  1. charger 3 dataset d'apres Xml au demarrage pour plusieurs WinForm
    Par ol_velecta dans le forum Windows Forms
    Réponses: 0
    Dernier message: 15/10/2013, 13h13
  2. MVC Csharp XML winforms
    Par wiemwiem dans le forum MVC
    Réponses: 0
    Dernier message: 02/06/2011, 09h47
  3. [WinForm-C#]xml ou app.config ?
    Par beren.kei dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 27/11/2009, 10h44
  4. [C#] [WinForms] Lecture XML
    Par stailer dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/10/2004, 14h42
  5. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07

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