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

Por Favor Ayuda DataGridViewComboBoxCell please

Estas en el tema de Por Favor Ayuda DataGridViewComboBoxCell please en el foro de .NET en Foros del Web. Estoy utizando un control DataGridView , que inicialmente muestra los datos en columnas del tipo DataGridViewTextBoxColumn Tengo una columna que cuando el usuario ingresa a ...
  #1 (permalink)  
Antiguo 20/12/2006, 20:04
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
Por Favor Ayuda DataGridViewComboBoxCell please

Estoy utizando un control DataGridView , que inicialmente muestra los datos en columnas del tipo DataGridViewTextBoxColumn
Tengo una columna que cuando el usuario ingresa a una celda de ésta ,la celda se transforma en un combobox, donde el usuario puede cambiar el valor de esta celda (cuando el usuario sale de esta celda, èsta vuelve a quedar como una del tipo DataGridViewTextBoxCell)

A nivel de codigo seria:

Código:
'Evento que tranforma la celda en una DataGridViewComboBoxCell
Private Sub dgrv_Datos_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgrv_Datos.CellEnter
If e.ColumnIndex <> 3 Then
Return
End If
strtmp = dgrv_Datos.Item(e.ColumnIndex, e.RowIndex).Value.ToString()
Dim combo As New DataGridViewComboBoxCell
combo.DataSource = ds.Tables(0)
combo.DisplayMember = "descripcion"
combo.ValueMember = "Id"
dgrv_Datos.Item(e.ColumnIndex, e.RowIndex) = combo
End Sub

'evento que deja la celda como DataGridViewTextBoxCell
Private Sub dgrv_Datos_CellLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgrv_Datos.CellLeave
If e.ColumnIndex <> 3 Then
Return
End If
Dim celda As New DataGridViewTextBoxCell
celda.Value = strtmp
dgrv_Datos.Item(e.ColumnIndex, e.RowIndex) = celda
End Subtodo funciona perfectamente , excepto cuando el rowindex y columnindex son iguales, ahi se genera este error:

Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.
y se produce en la linea de codigo donde se trata de convertir la celda actual en un combobox
dgrv_Datos.Item(e.ColumnIndex, e.RowIndex) = combo

Lo que quiero es en la celda de un DataGridView que tenga el foco poner un DataGridViewComboBoxCell
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 12:49.