private void Clases_Grid_CellValueChanged(object sender, DataGridViewCellEventArgs e) { switch (Clases_Grid.Columns[e.ColumnIndex].Name) { case "Clase_CBC": { if (ActiveComboClase > 0 && Clases_Grid["Clase_CBC", e.RowIndex].Value != null) { //se está modificando una línea ya existente if (_source_list.CombosListCount > e.RowIndex) { _source_list.UpdateCombosList(e.RowIndex, ActiveComboClase); } else //hay que añadir un nuevo datasource a la lista { _source_list.AddCombosList(ActiveComboClase); } CurrentPlanTipo.OidClase = ActiveComboClase; ((DataGridViewComboBoxCell)(Clases_Grid["TipoAuditoria_CBC", e.RowIndex])).DataSource = _source_list.GetCombosList(e.RowIndex); } } break; case "TipoAuditoria_CBC": { if (ActiveComboTipo > 0 && Clases_Grid["TipoAuditoria_CBC", e.RowIndex].Value != null) { TipoAuditoriaInfo tipo = _tipos.GetItem(ActiveComboTipo); ClaseAuditoriaInfo clase = _clases.GetItem(tipo.OidClaseAuditoria); Clases_Grid["Tipo", e.RowIndex].Value = clase.Tipo; Clases_Grid["Numero", e.RowIndex].Value = clase.Numero; CurrentPlanTipo.OidTipo = ActiveComboTipo; } } break; } SetUnlinkedGridValues(Clases_Grid.Name); }
private void Clases_Grid_CellValueChanged(object sender, DataGridViewCellEventArgs e) { //Clases_Grid.Columns[e.ColumnIndex].Name switch (e.ColumnIndex) { case 0: //"Modulo_CBC": { if (ActiveComboModulo > 0 && Clases_Grid["Modulo_CBC", e.RowIndex].Value != null) { //se está modificando una línea ya existente if (_source_list.CombosListCount > e.RowIndex) { _source_list.UpdateCombosList(e.RowIndex, ActiveComboModulo); } else //hay que añadir un nuevo datasource a la lista { _source_list.AddCombosList(ActiveComboModulo); } CurrentClaseExtra.OidModulo = ActiveComboModulo; ((DataGridViewComboBoxCell)(Clases_Grid["Submodulo_CBC", e.RowIndex])).DataSource = _source_list.GetCombosList(e.RowIndex); } } break; case 1: //"Submodulo_CBC": { if (ActiveComboSubmodulo > 0 && Clases_Grid["Submodulo_CBC", e.RowIndex].Value != null) { SubmoduloInfo submodulo = _submodulos.GetItem(ActiveComboSubmodulo); ModuloInfo modulo = _modulos.GetItem(submodulo.OidModulo); Clases_Grid["Titulo", e.RowIndex].Value = modulo.Texto + " " + submodulo.Codigo; string alias; if (submodulo.Codigo.Length > 5) { alias = submodulo.Codigo.Substring(0, 5); } else { alias = submodulo.Codigo; } CurrentClaseExtra.OidSubmodulo = ActiveComboSubmodulo; Clases_Grid["Alias", e.RowIndex].Value = alias + " (1/1)"; } } break; } }