Foros del Web » Programación para mayores de 30 ;) » .NET »

Como cambiar el typo a una celda de DataGridView

Estas en el tema de Como cambiar el typo a una celda de DataGridView en el foro de .NET en Foros del Web. Hola foro. tengo una problemon. Tengo un datagridView con informacion en 4 columnas todas del tipo DataGridViewTextBoxColumn. el datagridview esta enlazado a un datatable, que ...
  #1 (permalink)  
Antiguo 17/12/2009, 11:26
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Como cambiar el typo a una celda de DataGridView

Hola foro. tengo una problemon.

Tengo un datagridView con informacion en 4 columnas todas del tipo DataGridViewTextBoxColumn.
el datagridview esta enlazado a un datatable, que trae la informacion desde una BD SqlServer
El problema se presenta a la hora de editar la informacion en las ultimas tres columnas, ya que requiero que al momento de editar la informacion que alli aparece, se inserte un objeto del tipo DataGridViewComboBoxCell

para esto al momento de la edicin (el usuario selecciona el registro a editar, y presiona un button) inserte el siguiente codigo


Código:
int iFilaModificada = dgvAgrupamientos.CurrentRow.Index;

// Establece 3 combobox para elejir zona sgs, zona intesal y region
DataGridViewComboBoxCell CbxZInt = new DataGridViewComboBoxCell();
CbxZInt.DataSource = dttZonasIntesal.DefaultView;
CbxZInt.DisplayMember = "CodEqu";
CbxZInt.ValueMember = "CodIni";
dgvAgrupamientos.Rows[iFilaModificada].Cells[5] = CbxZInt;

DataGridViewComboBoxCell CbxZsgs = new DataGridViewComboBoxCell();
CbxZsgs.DataSource = dttZonasSGS;
CbxZsgs.DisplayMember = "LocDes";
CbxZsgs.ValueMember = "LocCod";
dgvAgrupamientos.Rows[iFilaModificada].Cells[7] = CbxZsgs;

DataGridViewComboBoxCell CbxReg = new DataGridViewComboBoxCell();
CbxReg.DataSource = dttRegiones;
CbxReg.DisplayMember = "DptDes";
CbxReg.ValueMember = "DptCod";
dgvAgrupamientos.Rows[iFilaModificada].Cells[9] = CbxReg;

dgvAgrupamientos.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
dgvAgrupamientos.CurrentCell = dgvAgrupamientos.Rows[iFilaModificada].Cells[3];
dgvAgrupamientos.EditMode = DataGridViewEditMode.EditOnEnter;

// ponemos el foco en el datagridview
dgvAgrupamientos.Focus();
Application.DoEvents();

el codigo descrito compila sin errores, pero al momento de ejecutar, me aparece un error en tiempo de ejecucion que me indica que el valor de la celda es incorrecto. Obviamente ya que el tipo de la celda es DataGridViewTextBoxColumn y yo estoy tratando de insertar un DataGridViewComboBoxCell.


la solucion que veo, es cambiar el tipo de la celda a modificar en el momento del cambio. es posible hacer eso? de que forma. porque lo intente con un cast directo, pero no me compila. .
Los unicos ejemplos que aparecen online son para cambiar el typo de la columna completa

Alguien tiene alguna idea de como lograr esto?
Saludos Foreros
Plch
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:02.