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 :

Actualiser une dataGridView


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Avril 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Avril 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Actualiser une dataGridView
    Bonjour

    j'ai réussi à afficher le contenue de mon fichier XML dans un dataGridView liée avec un dataset. Ainsi que supprimer les colonnes qui m’intéressait pas seulement je n'arrive pas a résoudre un soucis esthétique de l'affichage.

    voici ma méthode qui m'affiche mes données:

    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
    private void AfficheContenueXML()
            {
                string LienFichierXML = @"c:\Log_RST\Expd_RST.xml";
     
                dataSet.ReadXml(LienFichierXML);
                dataGridView_ContenueXML.DataSource = dataSet;
                dataGridView_ContenueXML.DataMember = "Ajout";
                try
                {
                    dataGridView_ContenueXML.Columns.Remove("Date_Ajout");
                    dataGridView_ContenueXML.Columns.Remove("ID");
                }
                catch (Exception)
                {
     
     
                }
            }
    si je clique plusieurs fois sur le bouton sa va m'afficher tout mon contenue l'un derrière l'autre, je n'arrive pas a vider mon dataGridView avant de ré afficher à nouveau mon contenue.

    j'ai lue que les dataGridView liée avec un dataset ne sont pas réinitialisation est-ce vrai ? si oui comment remédie a ceci ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Ajoute un 'dataSet.Clear()' avec le 'ReadXml'.

  3. #3
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Avril 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Avril 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup, je m'obstinai a vouloir vider tout les champs de mon dataGridView avec un truck du genre :dataGridView_ContenueXML.Rows.Clear();

    mais impossible, maintenant je comprend pourquoi c'était mon dataset qui gardait tout en mémoire.

    pour ceux qui veule le code fonctionnel le voici:

    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
    private void AfficheContenueXML()
            {
                string LienFichierXML = @"c:\Log_RST\Expd_RST.xml";
                dataSet.Clear();
                dataSet.ReadXml(LienFichierXML);
                dataGridView_ContenueXML.DataSource = dataSet;
                dataGridView_ContenueXML.DataMember = "Ajout";
                try
                {
                    dataGridView_ContenueXML.Columns.Remove("Date_Ajout");
                    dataGridView_ContenueXML.Columns.Remove("ID");
                }
                catch (Exception)
                {
     
     
                }
            }

  4. #4
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Avril 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Avril 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    est-il possible de récupérer un booléen pour savoir si une colonne existe ? pour crée plutôt une condition qu'un try catch qui m'annule mon exception levée ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Avril 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Avril 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    j'ai changer mon fusil d’épaule et il est préférable de ne pas supprimer une colonne mais de la rendre invisible, cela laisse des possibilités de condition ultérieurement.

    voici mon code plus propre pour ceux que sa pourrait aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void AfficheContenueXML()
            {
                string LienFichierXML = @"c:\Log_RST\Expd_RST.xml";
                dataSet.Clear();
                dataSet.ReadXml(LienFichierXML);
                dataGridView_ContenueXML.DataSource = dataSet;
                dataGridView_ContenueXML.DataMember = "Ajout";
     
                if (dataGridView_ContenueXML.Columns["ID"].Visible || true && dataGridView_ContenueXML.Columns["Date_Ajout"].Visible)
                {
                    dataGridView_ContenueXML.Columns["ID"].Visible = false;
                    dataGridView_ContenueXML.Columns["Date_Ajout"].Visible = false;
                }
            }

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Oui tu peut masquer si tu le souhaite.

    Je te propose de vérifier si la colonne existe avant de la masquer afin d'éviter les exceptions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool ColumnExist = dataGridView1.Columns.OfType<DataGridViewColumn>().ToList().Exists(a => a.HeaderText == "ID");

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Oups je vient de me dire que ce n'était peut être pas le 'HeaderText' que tu voulais tester mais la propriété 'Name' ?

    Voici deux façons de faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool ColumnExist1 = (dataGridView1.Columns["ID"] != null);
    bool ColumnExist2 = dataGridView1.Columns.Contains("ID");

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Petite remarque, que veut dire cette condition ? 'true && ' ne serai pas en trop ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView_ContenueXML.Columns["ID"].Visible || true && dataGridView_ContenueXML.Columns["Date_Ajout"].Visible

  9. #9
    Membre à l'essai
    Homme Profil pro
    autodidacte
    Inscrit en
    Avril 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Avril 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    ah oui effectivement petite erreur sur ma condition à force de manipuler le code on laisse des morceaux assez rapidement .. je ferai plus attention merci de la remarque.

    Merci également pour ta proposition de condition pour fiabiliser mon code

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

Discussions similaires

  1. Enregistrer, ouvrir une datagridview
    Par piepio dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/02/2007, 13h55
  2. [C# 2.0] Mettre à jour l'affichage d'une dataGridView
    Par nicolas.pied dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/01/2007, 14h36
  3. [2.0] Mettre une Checkbox dans le header d'une colonne d'une DatagridView
    Par aurelien.tournier dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/01/2007, 10h27
  4. Réponses: 1
    Dernier message: 01/09/2006, 20h13
  5. [VB.NET] erreur de chargement d 'une DataGridView
    Par amazircool dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/04/2006, 17h18

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