Lo que sucede es que necesito que en el datagridview el usuario pueda dar clic en una celda y que este le abra un cuadro de dialogo, desde donde va a seleccionar un dato y luego este se va a agregar automaticamente a la celda seleccionada.¿Alguna idea de como hacer esto?, bueno gracias por su ayuda, ya e buscado toda la mañana una solucion practica en google pero no me convence .
Ok gracias
Yo tube un problema parecido y esta fue la forma de como lo solucione....
1- Yo lleno el data grid partiendo de varios textbox
2- Tengo una columna denominada lote [la cual necesito que sea modificable]
3- Tengo un formulario llamado ListaSeleccion
4- Regreso el valor seleccionado a la celda correspondiente
Basicamente en funcionamiento es el siguiente
Mediante el evento DataGridView1_CellDoubleClick
lo primero que hago es validar si el usuario dio doble click sobre la columna "lote"
Si se cumple capturo el codigo del articulo
luego defino el string de sql [es una variable publica]
Muestro el formulario ListaSeleccion [en el load de este realizo la ejecucion del string]
Luego mediante esta linea DataGridView1.CurrentCell.Value = CampoSeleccionado1
agrego el valor que el usaurio selecciono
Nota: CampoSeleccionado1 es una variable publica la cual se leasigna el valor que seleeciono el usuario en el formulario ListaSeleccion.
Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
'DataGridView1.CurrentCell.Value = ""
If DataGridView1.Columns(e.ColumnIndex).Name = "Lote" Then
Dim CodigoArt = Trim(DataGridView1.Rows(DataGridView1.CurrentCellAddress.Y).Cells(0).Value)
TipoLista = "SELECT lote,articulo,fecha_vence" & _
" FROM " & BaseDatos & ".lote where estado = 'A' and articulo = '" & CodigoArt & "' "
ListaSeleccion.ShowDialog()
DataGridView1.CurrentCell.Value = CampoSeleccionado1
End If
End Sub
El punto uno es mas cajonero... basta con que vayas leyendo linea por linea y disparando un sql, para hacer la insercion