protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { // we only process commands with a datasource (our image buttons) if (e.CommandSource == null) { return; } string typeOfControl = e.CommandSource.GetType().ToString(); if (typeOfControl.Equals("System.Web.UI.WebControls.ImageButton")) { int id = 0; ImageButton imgb = (ImageButton)e.CommandSource; if (imgb.ID != "New" && imgb.ID != "Exit") { id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex][e.Item.OwnerTableView.DataKeyNames[0]]; } switch (imgb.ID) { case "Select": break; case "Edit": break; case "Delete": try { Dispositivo dispositivo = CntLainsaSci.GetDispositivo(id, ctx); if (dispositivo.Revisiones != null) { if (dispositivo.Revisiones.Count > 0) { ControlDeError(new Exception(string.Format("No se puede borrar el dispositivo con ID = {0}.\nTiene revisiones asignadas.", dispositivo.DispositivoId))); break; } } CntLainsaSci.BorrarDispositivo(dispositivo, ctx); CntLainsaSci.CTXGuardar(ctx); RefreshGrid(true); } catch (Exception ex) { ControlDeError(ex); } break; } } }