protected void dgContatori_OnItemCommand(object sender, DataGridCommandEventArgs e) { switch (e.CommandName) { case "Edit": this.dgContatori.EditItemIndex = e.Item.ItemIndex; break; case "Cancel": this.dgContatori.EditItemIndex = -1; break; case "Update": Contatore contatoreSelezionato = contatori[e.Item.ItemIndex]; string contatore = ((TextBox)dgContatori.Items[e.Item.ItemIndex].Cells[9].FindControl("txt_valore")).Text; string sottoContatore = ((TextBox)dgContatori.Items[e.Item.ItemIndex].Cells[10].FindControl("txt_valoreSc")).Text; if (string.IsNullOrEmpty(contatore) || string.IsNullOrEmpty(sottoContatore)) { ClientScript.RegisterStartupScript(this.GetType(), "alertValoriContatore", "alert('Inserire valori validi per i contatori.');", true); } else { if (oggettoCustom.TIPO.DESCRIZIONE_TIPO.ToUpper().Equals("CONTATORESOTTOCONTATORE")) { if (!string.IsNullOrEmpty(oggettoCustom.MODULO_SOTTOCONTATORE) && Convert.ToInt32(sottoContatore) > Convert.ToInt32(oggettoCustom.MODULO_SOTTOCONTATORE)) { ((TextBox)dgContatori.Items[e.Item.ItemIndex].Cells[10].FindControl("txt_valoreSc")).Text = contatoreSelezionato.VALORE_SC; ClientScript.RegisterStartupScript(this.GetType(), "alertValoriContatore", "alert('Il valore del sottocontatore deve essere minore del modulo del campo.');", true); } else { contatoreSelezionato.VALORE = contatore; contatoreSelezionato.VALORE_SC = sottoContatore; ProfilazioneDocManager.SetValuesContatoreDoc(this, contatoreSelezionato); } } else { contatoreSelezionato.VALORE = contatore; contatoreSelezionato.VALORE_SC = sottoContatore; ProfilazioneDocManager.SetValuesContatoreDoc(this, contatoreSelezionato); } this.dgContatori.EditItemIndex = -1; } break; case "Delete": dgContatori.SelectedIndex = e.Item.ItemIndex; msg_Elimina.Confirm("Eliminare il contatore ?"); break; } caricaDgContatori(); }