/// <summary> /// Procédure d'affichage avec comme paramètre /// la référence du client à afficher /// </summary> protected void afficheClient(MClients leClient) { // this.leClient txtBoxNv.Text = leClient.NumClient.ToString(); txtBoxRs.Text = leClient.RaisonSociale.ToString(); txtBoxAd.Text = leClient.AdresseClient; txtBoxAd2.Text = leClient.AdresseClient2; txtBoxCp.Text = leClient.CodePostal; txtBoxVil.Text = leClient.Ville; try { txtBoxTel.Text = leClient.TelephoneClient.ToString(); } catch (TelephoneInvalide) { if (!(txtBoxTel.Text.Length == 10)) { MessageBox.Show("Vous devez rentrer dix chiffres, pas plus, pas moins."); } } chkBoxPv2.Checked = leClient.ClientPrive; txtBoxEff.Text = leClient.Effectif.ToString(); txtBoxCa.Text = leClient.ChiffreAffaires.ToString(); //Gné, là ce sont des combobox à modifier txtActivite.Text = leClient.Activite; txtNature.Text = leClient.Nature; }
private void btnOK_Click(object sender, EventArgs e) { // Créer une référence d'objets MClients MClients nouveauClient = new MClients(); //Affectation des variables/propriétés nouveauClient.NumClient = Int32.Parse(base.txtBoxNv.Text.Trim()); nouveauClient.RaisonSociale = base.txtBoxRs.Text; nouveauClient.AdresseClient = base.txtBoxAd.Text; nouveauClient.AdresseClient2 = base.txtBoxAd2.Text; nouveauClient.CodePostal = base.txtBoxCp.Text; nouveauClient.Ville = base.txtBoxVil.Text; nouveauClient.TelephoneClient = base.txtBoxTel.Text; nouveauClient.ClientPrive = base.chkBoxPv2.Checked; nouveauClient.Effectif = Int32.Parse(base.txtBoxEff.Text.Trim()); nouveauClient.ChiffreAffaires = Int32.Parse(base.txtBoxCa.Text.Trim()); nouveauClient.Activite = base.cbBoxAct.Text; nouveauClient.Nature = base.cbBoxNat.Text.ToString(); //Je ne sais pas comment faire pour les combobox if (!(base.cbBoxAct.Items.Contains(base.cbBoxAct.Text))) { base.cbBoxAct.Items.Add(base.cbBoxAct.Text); } if (!(base.cbBoxNat.Items.Contains(base.cbBoxNat.Text))) { base.cbBoxNat.Items.Add(base.cbBoxNat.Text); } //Numéro du client, qui le définit ? // Est ce que le numéro client = rang du client +1 (pour pas avoir de client zéro) ? nouveauClient.IClient++; //ajouter la référence d'objet MClients dans la collection Donnees.arrayClients.Add(nouveauClient); // incrémentation compteur de clients MClients.NClients++; frmListeClients frmListe = new frmListeClients(); //00h j'ai interverti afficheclient avec show frmListe.afficheClient(); frmListe.Show(); this.Close(); }
/// <summary> /// Permet d'afficher dans la datagridView les clients ajoutés /// On définit une dataTable qui sera alimentée par les données de nos clients /// Cette procédure sera ensuite appelée au niveau dès le chargement du formulaire /// (constructeur du form ou evenement load) /// </summary> public void afficheClient() { //DataTable permettant de recopier les clients stockés dans la collection DataTable dt = new DataTable(); // Ligne de la dataTable DataRow dr; //Variable de boucle int j; dt.Columns.Add(new DataColumn("Raison sociale", typeof(System.String))); dt.Columns.Add(new DataColumn("Ville", typeof(System.String))); dt.Columns.Add(new DataColumn("Code postal", typeof(System.Int32))); dt.Columns.Add(new DataColumn("Privé", typeof(System.Boolean))); dt.Columns.Add(new DataColumn("Activité", typeof(System.String))); dt.Columns.Add(new DataColumn("Nature", typeof(System.String))); // boucle de remplissage de la DataTable à partir de la collection for (j = 0; j < Donnees.arrayClients.Count; j++) { // Seb : pourquoi déjà on instancie ici ? Dans l'exo7 on ne le fait pas (en tous cas pas là) MClients client = (MClients)Donnees.getClientById(j); //Instanciation de la datarow dr = dt.NewRow(); //Affectation des colonnes //Code proposé par Seb //Dans l'exo7 voici la syntaxe : //dr[0] = ((MClients)(Donnees.ArrayClients[j])).RaisonSociale; //etc dr[0] = client.RaisonSociale; dr[1] = client.Ville; dr[2] = client.CodePostal; dr[3] = client.ClientPrive; dr[4] = client.Activite; dr[5] = client.Nature; //Ajout de la ligne à la dataTable dt.Rows.Add(dr); } // détermine l'origine des données à afficher dans la datagriedview this.grdListe.DataSource = dt.DefaultView; // rafraichi le datagriedview this.grdListe.Refresh(); dt = null; // utile ? dr = null; // utilité ? }
private void grdListe_DoubleClick(object sender, EventArgs e) { Int32 iClient; iClient = this.grdListe.CurrentRow.Index; //Code suivant mis en commentaire : pourquoi ajouter ça ? // instancie un objet client vers le form de consultation client d'origine dans la collection // Code proposé par Seb //Dans l'exo 7 // MClients leClient = Donnees.ArrayClients[iClient] as MClients MClients leClient = Donnees.getClientById(iClient) as MClients; // instancie le form "Nouveau Contact" qui correspond à la création du contact frmConsultationClient frmConsultation = new frmConsultationClient(leClient); // affiche le form de la création de contact en modal frmConsultation.ShowDialog(); // rafaichit la datagriedview quand le form est fermé this.afficheClient(); }
public frmNouveauContact(MClients client) { InitializeComponent(); this.leClient = client; }
/// <summary> /// On initialise la référence de l'objet MClient /// Le parametre du constructeur sera donc la référence de l'objet Client /// à traiter dans ce formulaire /// </summary> /// <param name="client"></param> public frmConsultationClient(MClients client) { // on crée une référence d'objet stagiaire pointant vers le stagiaire d'origine de la collection this.leClient = client; InitializeComponent(); }