private void dgvFasi_CellEndEdit(object sender, DataGridViewCellEventArgs e) { try { if (_disabilitaEdit) { return; } lblMessaggio.Text = string.Empty; decimal idFase = (decimal)dgvFasi.Rows[e.RowIndex].Cells[0].Value; string codice = (string)dgvFasi.Rows[e.RowIndex].Cells[1].Value; string descrizione = (string)dgvFasi.Rows[e.RowIndex].Cells[2].Value; decimal idReparto = ((RepartoModel)dgvFasi.Rows[e.RowIndex].Cells[3].Value).IdReparto; decimal margine = (decimal)dgvFasi.Rows[e.RowIndex].Cells[4].Value; decimal costo = (decimal)dgvFasi.Rows[e.RowIndex].Cells[5].Value; bool includiPreventivo = (bool)dgvFasi.Rows[e.RowIndex].Cells[6].Value; decimal idEsterna = (decimal)dgvFasi.Rows[e.RowIndex].Cells[7].Value; string tabellaEsterna = (string)dgvFasi.Rows[e.RowIndex].Cells[8].Value; if (string.IsNullOrEmpty(descrizione)) { lblMessaggio.Text = "La descrizone non può essere vuota"; return; } if (string.IsNullOrEmpty(codice)) { lblMessaggio.Text = "Il codice non può essere vuoto"; return; } Anagrafica a = new Anagrafica(); lblMessaggio.Text = a.ModificaFase(idFase, codice, descrizione, idReparto, margine, costo, includiPreventivo, idEsterna, tabellaEsterna, _utenteConnesso); // CaricaGrigliaFasi(idReparto); BeginInvoke(new MethodInvoker(() => CaricaGrigliaFasi(idReparto))); } catch (Exception ex) { MostraEccezione("Errore modificando una fase", ex); } }