Grabar y Actualizar DB desde un DatagridView

Estuve mirando foros y no encuentro la solución. Estoy cargando un datagrid desde una tabla. Hasta ahí todo bien, el tema es:
1) A esta datagrid puedo modificarle datos
2) A este datagrid puedo agregar datos.
Hay dos comandos, updatecommand e InsertCommand. El tema es que no se como saber que linea del data grid es nueva y cuales son modificadas.
O sea, recorro un datagrid con un For i=0 to DG.Columns.Count-1 pero como indico a cada fila que hacer. No se si soy claro?

1 Respuesta

Respuesta
1
Te recomiendo que te crees una Columna NO VISIBLE, en este ejemplo será la numero 5 (teniendo en cuenta las columnas comienzan desde 0)
En el evento CellEndEdit de tu DGV escribes lo siguiente:
DGV(5, DGV.CurrentRow.Index).Value = "1"
Luego al guardar tus datos harás lo siguiente.
Dim i As Integer = 0
For i = 0 to DGV.RowCount
   If DGV(5, i).Value = "1" Then
         "HACES UN UPDATE"
   Else
          "HACES UN INSERT"
   End If

Next
¿Cómo funciona?
Al editar una celda se ejecuta el evento CellEndEdit que hará valer "1" a la columna que creamos.
Luego en el momento que tu guardas los datos preguntaras si la columna vale 1 haces un UPDATE de lo contrario haces un INSERT.
PD: para saber en que fila nos encontramos se usa el la Clase CurrentRow del objeto DataGridView.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas