
Hasta ahora: en la celda "detalle_operación" si apreto 1 y <TAB> aparece "Monotributo 03/09" y así con los demás IdOperación que existan. Si éste no existe la celda se pone celeste y aparece el texto "Debe ingresar un detalle correcto".
El problema: la celda también me debe permitir ingresar un texto cualquiera, ej: "Recargo por mora". Y cuando hago el <TAB> llama al método CellEndEdit e intenta filtrar el OperacionBindingSource con un String y sale un error con fritas.
El código:
'Filtrar DetalleOperación por Id
OperacionBindingSource.Filter = "id_operacion= " & Detalle_ventaDataGridView.CurrentRow.Cells("detall e_operacion").Value.ToString()
'Si la celda no esta vacía
If Not txtSopNomDetalle.Text = "" Then
'Mover los datos a la celda
Detalle_ventaDataGridView.CurrentRow.Cells("detall e_operacion").Value = txtSopNomDetalle.Text
Detalle_ventaDataGridView.CurrentRow.Cells("precio _unit").Value = txtSopPrecioDetalle.Text
'Configurar botones
btnAgregarDetalle.Enabled = True
btnAgregarDetalle.Focus()
If btnLimpiarDetalles.Enabled = False Then
btnLimpiarDetalles.Enabled = True
End If
La solución: Antes del código marcado en rojo tengo que preguntar si el texto de la celda es un número cualquiera (1, 2, 156, 1222455). No podría preguntar si son solo letras ya que se debe permitir ingresar "Recargo por mora 04/09" <-- ejemplo.
Desde ya gracias por la ayuda.
Saludos.
PD: en un form aparte se puede hacer abm de detalles (operaciones) para agilizar los tramites de un mismo mes. Ej. id_operacion = 5, nombre = "Ingresos Brutos 03/09" para imprimir las facturas que deberían llevar ese detalle.