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# remplir dataGridView via autre Form [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut c# remplir dataGridView via autre Form
    Salut les développeurs,

    Voila, mon problème est que je cherche à remplir une dataGridView (DgvReponse) (dans FrmRéponse) via une méthode d'un autre Form (FrmEnvoi) :

    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
    private void BtnPing_Click(object sender, EventArgs e)
            {
                Ping ping = new Ping();
     
                Form Réponse = new FrmRéponse();
                Réponse.Owner = this;
     
               #region Méthode
     
               PingReply reply1;
     
               reply1 = ping.Send("172.2.33.241", 1000); // erreur pour test
     
               if (CbBxAS400.Checked == true)
                {
                    this.DgvReponse.Rows.Add("Bordeaux", "AS400", "172.18.33.241", reply1.RoundtripTime.ToString() + " ms");
                }
     
                #endregion
    Visual Studio souligne "DgvReponse".

  2. #2
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    ci dessous :

    en rouge les remarques et explications
    en bleu le code à modifier

    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
    private void BtnPing_Click(object sender, EventArgs e)
    // cette méthode est membre de frmEnvoi donc this pointe sur une instance de frmEnvoi
            {
                Ping ping = new Ping();
     
    // Reponse (avec un accent ???? ) va être créé avec FrmReponse comme type instancié, mais connu dans le code
    // comme une simple Form puisque c'est le type déclaré pour la variable
                Form Réponse = new FrmRéponse();
                Réponse.Owner = this;
     FrmReponse Reponse = new FrmReponse(this);
               #region Méthode
     
               PingReply reply1;
     
               reply1 = ping.Send("172.2.33.241", 1000); // erreur pour test
     
               if (CbBxAS400.Checked == true)
                {
    // donc ici, visual ne trouve pas de composant DvgReponse dans this (qui est un FrmEnvoi), c'est normal.
    // de la même façon, Visual ne trouvera pas de DvgReponse dans Reponse puisque son type déclaré est Form et non
    // FrmReponse....
                    this.DgvReponse.Rows.Add("Bordeaux", "AS400", "172.18.33.241", reply1.RoundtripTime.ToString() + " ms");
    
    Reponse.DgvReponse.Rows.Add("Bordeaux", "AS400", "172.18.33.241", reply1.RoundtripTime.ToString() + " ms");
                }
     
                #endregion
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse.

    Par contre, j'ai pas compris pour le this car j'ai fait en sorte (enfin je crois) que le FrmRéponse appartienne à FrmEnvoi.

  4. #4
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    Citation Envoyé par Aogiri Voir le message
    Par contre, j'ai pas compris pour le this car j'ai fait en sorte (enfin je crois) que le FrmRéponse appartienne à FrmEnvoi.
    Non, la FrmReponse n'est qu'une variable locale dans la méthode et n'est donc visible que dans la méthode.

    pour que la FrmReponse "appartienne" à FrmEnvoi, il faudrait un membre DANS la classe FrmEnvoi du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class FrmEnvoi : Form
    {
       protected FrmReponse MaReponse = new FrmReponse(this);
     
       private void BtnPing_Click(object sender, EventArgs e)
       {
          // ....
     
          MaReponse.DgvReponse.Rows.Add("Bordeaux", "AS400", "172.18.33.241", reply1.RoundtripTime.ToString() + " ms");
     
          // ....
       }
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Ha d'accord, mais quand je met le 'this' entre parenthèses ça marque : " 'MonApplication.FrmRéponse' n'accepte pas un constructeur qui accepte des arguments 1" et " Le mot clé 'this' n'est pas disponible dans le contexte actuel".

  6. #6
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    Citation Envoyé par Aogiri Voir le message
    Ha d'accord, mais quand je met le 'this' entre parenthèses ça marque : " 'MonApplication.FrmRéponse' n'accepte pas un constructeur qui accepte des arguments 1" et " Le mot clé 'this' n'est pas disponible dans le contexte actuel".
    oups, autant pour moi, il n'y a pas de constructeur particulier dans FrmReponse acceptant un argument, seul le constructeur par défaut est déclaré (automatiquement), la ligne devient donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected FrmReponse MaReponse = new FrmReponse();
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Nickel ! Merci bien pascalCH

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/04/2013, 21h33
  2. Réponses: 3
    Dernier message: 15/04/2012, 10h17
  3. Remplire DataGridView via une collection
    Par Unreal Time dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/05/2011, 09h29
  4. Réponses: 22
    Dernier message: 15/10/2009, 09h41
  5. Remplir certaines colonnes datagridview via requete
    Par jpbelmondo59 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/09/2009, 18h45

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