2010-10-01 4 views
0

J'ai une fenêtre MDI avec un contrôle datagridview qui est utilisé pour afficher une liste d'enregistrements dans une ou plusieurs tables de base de données. Si l'utilisateur souhaite ajouter un nouvel enregistrement, il clique sur "nouveau" et une fenêtre contextuelle (enfant) s'affiche. La fenêtre contextuelle accepte les données de l'utilisateur (nom, numéro, date, etc.) et est ensuite renvoyée au serveur lorsque les utilisateurs cliquent sur un bouton OK. À ce stade, je souhaite mettre à jour la base de données avec le nouvel enregistrement, fermer la fenêtre contextuelle (enfant), puis actualiser la fenêtre parentale datagridview afin qu'elle reflète l'enregistrement nouvellement créé qui a été créé à l'aide de la fenêtre contextuelle.Actualiser la grille de données de fenêtre parent MDI après la fermeture de la fenêtre enfant dans l'application Windows C#?

Voici le code pour fenêtre enfant MDI ouvert de

frmJobControlWindow frmjobcontrol = new frmJobControlWindow(); 
frmjobcontrol.ShowDialog(); 

tout événement de fermeture de fenêtre enfant comment gérer rafraîchir MDI Parent datagridview? ShowDialog() renvoie une valeur qui indique ce que l'utilisateur a fait avec le dialogue.

Répondre

0

Utilisez comme ceci:

using (frmJobControlWindow frmjobcontrol = new frmJobControlWindow()) { 
    if (frmjobcontrol.ShowDialog() == DialogResult.Ok) { 
     // update datagrid 
     //... 
    } 
} 

Assurez-vous de définir la propriété DialogResult de la boîte de dialogue dans votre bouton OK gestionnaire d'événements Click:

private void Ok_Click(object sender, EventArgs e) { 
    // Do some stuff 
    //... 
    this.DialogResult = DialogResult.Ok; 
} 

Bien qu'il soit automatique lorsque vous définissez la propriété AcceptButton du formulaire. La définition de DialogResult ferme également automatiquement la boîte de dialogue.

+0

Merci Hans .. Ça marche bien – Jeyavel

Questions connexes