/// <summary> /// Double-clic sur le datagridview : /// ouvrir la feuille détail en y affichant /// le stagiaire correspondant à la ligne double-cliquée /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void grdStagiaires_DoubleClick(object sender, EventArgs e) { // ouvrir la feuille détail en y affichant // le stagiaire correspondant à la ligne double-cliquée MStagiaire leStagiaire; Int32 laCle; // clé (=numOSIA) du stagiaire dans la collection // récupérer clé du stagiaire cliqué en DataGridView Console.WriteLine(this.grdStagiaires.CurrentRow.Cells[0].Value); if (Int32.TryParse(this.grdStagiaires.CurrentRow.Cells[0].Value.ToString(), out laCle)) { // instancier un objet stagiaire pointant vers // le stagiaire d'origine dans la collection leStagiaire = laSection.RestituerStagiaire(laCle); // instancier un form détail pour ce stagiaire frmVisuStagiaire frmVisu = new frmVisuStagiaire(leStagiaire); // personnaliser le titre du form frmVisu.Text = leStagiaire.ToString(); // afficher le form détail en modal frmVisu.ShowDialog(); // en sortie du form détail, refraichir la datagridview this.afficheStagiaires(); } else { throw new InvalidCastException("can't convert cell[0] laCle"); } }
/// <summary> /// constructeur : instancie et personnalise le form et l'affiche en modal; /// </summary> public CtrlVisuModifStagiaire(MStagiaire unStagiaire) { // mémo ref au stagiaire à modifier this.leStagiaire = unStagiaire; // instancier le form initial this.leForm = new frmVisuStagiaire(this.leStagiaire); this.leForm.Text = this.leStagiaire.ToString(); // implémenter l'événement bouton Saisir Note this.leForm.btnSaisirNote.Click += new EventHandler(btnSaisirNote_Click); // implémenter l'événement bouton Valider this.leForm.btnValider.Click += new EventHandler(btnValider_Click); // afficher le form this.leForm.ShowDialog(); }