locked
Raffraichir un dataGridView à partir d'une autre fenêtre RRS feed

  • Question

  • Bonjour,

    J'ai un problème de refresh de mon dataGridView. Voilà mon contexte : Dans une première fenêtre j'ai un grid qui affiche des données et dans une deuxième fenêtre j'effectue des modifications sur la source de mon grid. Je souhaite quand je ferme la deuxième fenêtre, raffraichir mon gird c'est à dire le mettre à jour.

    Voilà le code :

    //Première fenêtre
    
    private void FormMessage_Load(object sender, EventArgs e)
            {
                 //charger le grid
                this.chargerDataGrid(owner.dt);
            }
    
    //Deuxième fenêtre
    
    private void FormListeReponseMessage_FormClosed(object sender, FormClosedEventArgs e)
            {
         // J'appelle la form qui est ouverte
                FormMessage ff = (FormMessage)Application.OpenForms["FormMessage"];
                DataGridView grid = (DataGridView)ff.Controls["dataGridViewMessage"];
                grid.Refresh();
                ff.Refresh();
            }
    Quelle est la différence entre le refresh d'un grid et le refresh d'une form dans ce cas ?
    samedi 16 mai 2009 09:50

Réponses

  • Bonjour,

    Vous n'avez pas à utiliser le Refresh() des composants Windows.
    Cette fonction consiste à forcer le redessin des contrôles.

    Pour faire un rafraichissement de vos données, il suffit de rexecuter la fonction de chargement de votre DataGrid :
    Pour cela, mettez la méthode de chargement de votre DataGrid (chargerDataGrid) en public ainsi que votre variable "owner".

    Et metter le code suivant à la fermeture de votre fenêtre FormListeReponseMessage :
    FormMessage ff = (FormMessage)Application.OpenForms["FormMessage"];
    ff.chargerDataGrid(ff.owner.dt)
    Cordialement

    Gilles TOURREAU - MVP C#
    • Marqué comme réponse ZEMZEMI Amine mercredi 20 mai 2009 17:03
    samedi 16 mai 2009 13:50