none
Problemi datagridview RRS feed

  • Domanda

  • /*Tramite l'inserimento di una textbox(txtreferente nella prima form che è = al txtCerca alla

    seconda form)

    devo filtrare la tabella e fargli vedere i risultati il punto si concentra sulla seconda form e

    sul bottone "cerca" della prima form l'altra roba non c'entra nulla.*/

    //Prima form per mandare la mail namespace InviareMail { public partial class Form1 : Form { Persone persone = new Persone(); Informazioni info = new Informazioni(); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); List<Persona> ListaPersone = new List<Persona>(); List<Persona> Risultato; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { mail.From = new MailAddress(info.Email); mail.To.Add(txtDestinatario.Text); mail.Subject = "Chiamata"; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential(info.Email, info.Passw); SmtpServer.EnableSsl = true; SalvaDati.DatiSalvati(info, "accesso.xml"); SalvaDati.DatiSalvati(ListaPersone, "persone.xml"); persone.p.Add(new Persona(txtReferente.Text, txtDitta.Text, txtTelefono.Text, txtMail.Text)); SmtpServer.Send(mail); MessageBox.Show("Mail inviata"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void Form1_Load(object sender, EventArgs e) { CaricaImpostazioni(); CaricaPersone(); txtData.Text = DateTime.Now.ToString(); } private void CaricaImpostazioni() { if (File.Exists("accesso.xml")) { XmlSerializer xs = new XmlSerializer(typeof(Informazioni)); using (FileStream leggi = new FileStream("accesso.xml", FileMode.Open, FileAccess.Read, FileShare.Read)) { info = (Informazioni)xs.Deserialize(leggi); } } } private void CaricaPersone() { if (File.Exists("persone.xml")) { XmlSerializer xs = new XmlSerializer(typeof(List<Persona>)); using (FileStream leggi = new FileStream("persone.xml", FileMode.Open, FileAccess.Read, FileShare.Read)) { ListaPersone = (List<Persona>)xs.Deserialize(leggi); } } } private void buttonImpostazioni_Click(object sender, EventArgs e) { Wnd_Impostazioni Impo = new Wnd_Impostazioni(ref info); Impo.ShowDialog(); CaricaImpostazioni(); } private void radioButtonChiamata1_CheckedChanged(object sender, EventArgs e) { mail.Body = "Data e ora : " + txtData.Text + "\n" + "Referente : " + txtReferente.Text + "\n" + "Ditta : " + txtDitta.Text + "\n" + "Telefono : " + txtTelefono.Text + "\n" + "Mail :" + txtMail.Text + "\n" + "Messaggio : " + txtMessaggio.Text + "\n" + "Da Richiamare"; } private void radioButtonChiamata2_CheckedChanged(object sender, EventArgs e) { mail.Body = "Data e ora : " + txtData.Text + "\n" + "Referente : " + txtReferente.Text + "\n" + "Ditta : " + txtDitta.Text + "\n" + "Telefono : " + txtTelefono.Text + "\n" + "Mail :" + txtMail.Text + "\n" + "Messaggio : " + txtMessaggio.Text + "\n" + "Richiamera' "; } private void txtReferente_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (Risultato != null) { Risultato = Risultato.Where(a => a.Ditta == txtDitta.Text).ToList(); } else Risultato = ListaPersone.Where(a => a.Referente == txtReferente.Text).ToList(); if (Risultato != null && Risultato.Count == 1) { //txtDitta.Text = Risultato[0].Ditta; //txtTelefono.Text = Risultato[0].Telefono; //txtMail.Text = Risultato[0].Mmail; } else if (Risultato.Count > 1) { MessageBox.Show("E' presente più di un " + txtReferente.Text + " nella lista compila gli altri campi"); } else if (Risultato.Count == 0) { MessageBox.Show("Non è presente nessun " + txtReferente.Text + " nella lista"); } } } private void txtDitta_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (Risultato != null) { Risultato = Risultato.Where(a => a.Ditta == txtDitta.Text).ToList(); } else Risultato = ListaPersone.Where(a => a.Ditta == txtDitta.Text).ToList(); if (Risultato != null && Risultato.Count == 1) { txtReferente.Text = Risultato[0].Referente; txtDitta.Text = Risultato[0].Ditta; txtTelefono.Text = Risultato[0].Telefono; txtMail.Text = Risultato[0].Mmail; } else if (Risultato.Count > 1) { MessageBox.Show("Ci sono più membri della ditta " + txtDitta.Text + " nella lista compila gli altri campi"); } else if (Risultato.Count == 0) { MessageBox.Show("Non esistono persone di quella ditta"); } } } private void txtTelefono_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (Risultato != null) { Risultato = Risultato.Where(a => a.Telefono == txtTelefono.Text).ToList(); } else Risultato = ListaPersone.Where(a => a.Telefono == txtTelefono.Text).ToList(); if (Risultato != null && Risultato.Count == 1) { txtTelefono.Text = Risultato[0].Telefono; txtMail.Text = Risultato[0].Mmail; } } } private void txtMail_KeyUp(object sender, KeyEventArgs e) { if (Risultato != null) { Risultato = Risultato.Where(a => a.Mmail == txtMail.Text).ToList(); } else if (Risultato != null && Risultato.Count == 1) { txtMail.Text = Risultato[0].Mmail; } } private void buttonRipulisci_Click(object sender, EventArgs e) { txtDestinatario.Text = ""; txtDitta.Text = ""; txtReferente.Text = ""; txtTelefono.Text = ""; txtMail.Text = ""; txtMessaggio.Text = ""; radioButtonChiamata1.Checked = radioButtonChiamata2.Checked = false; Risultato = null; txtData.Text = DateTime.Now.ToString(); } private void buttonCercaPersone_Click(object sender, EventArgs e) { using (TabellaPersona cercapersona = new TabellaPersona(ListaPersone)) { cercapersona.Stringacerca = this.txtReferente.Text; cercapersona.ShowDialog(); txtReferente.Text = cercapersona.Result.Referente; txtDitta.Text = cercapersona.Result.Ditta; txtTelefono.Text = cercapersona.Result.Telefono; txtMail.Text = cercapersona.Result.Mmail; } } private void buttonSalva_Click_1(object sender, EventArgs e) { ListaPersone.Add(new Persona(txtReferente.Text, txtDitta.Text, txtTelefono.Text, txtMail.Text)); } } } //Seconda Form per la tabella con i dati delle persone(referente,ditta,email,telefono) namespace InviareMail { public partial class TabellaPersona : Form { List<Persona> Listapersone; public Persona Result { get; private set; } public string Stringacerca { get{ return this.txtCerca.Text; } set{ this.txtCerca.Text = value; } } public TabellaPersona(List<Persona> persona) { InitializeComponent(); Listapersone = persona; personaBindingSource.DataSource = Listapersone; } private void TabellaPersona_Load(object sender, EventArgs e) { } private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { if (personaBindingSource.Current == null) return; Result = personaBindingSource.Current as Persona; Close(); } private void txtCerca_KeyUp(object sender, KeyEventArgs e) { } } }




    • Modificato zNiKeZe venerdì 24 febbraio 2017 13:06
    venerdì 24 febbraio 2017 10:32

Risposte