Ayuda please - Problemas con DataGrid

18/08/2006 - 10:29 por XTV | Informe spam
Hola, tengo un dataGrid vinculado con un DataSet; y mi problema es que los
datos solo se graban realmente en la base de datos si me muevo de un
registro a otro por el gid; de modo que el ultimo que modifique no se
actualizará a no ser que me mueva a otro registro antes.

Tengo el form, con el grid. Hago cambios en una fila, y sin moverme pulso
sobre el boton de actualizar, que tiene el siguinte código:

Dim UpdatedRows As System.Data.DataSet

Dim InsertedRows As System.Data.DataSet

Dim DeletedRows As System.Data.DataSet



UpdatedRows = Me.TargeDS.GetChanges(DataRowState.Modified)

InsertedRows = Me.TargeDS.GetChanges(DataRowState.Added)

DeletedRows = Me.TargeDS.GetChanges(DataRowState.Deleted)



Try

If Not UpdatedRows Is Nothing Then
Me.daMovFechas.Update(UpdatedRows)

If Not InsertedRows Is Nothing Then
Me.daMovFechas.Update(InsertedRows)

If Not DeletedRows Is Nothing Then
Me.daMovFechas.Update(DeletedRows)

TargeDS.MovCapInternet.AcceptChanges()

Catch eUpdate As System.Exception

MsgBox("Ha ocurrido un problema: " & eUpdate.Message)

End Try



Es decir, en teoria, se deberian de pasar todos los datos modificados a la
base de datos, a menos que el problema sea que el grid no actualiza el
DataSet hasta que se mueve de una fila a otra.

¿Alguna idea?. Por cierto, estoy usando el TrueDBGrid de Componet One, pero
he observado exactamente el mismo problema en el grid standart del framework
1.1

Gracias

XTV
 

Leer las respuestas

#1 Ramón
22/08/2006 - 20:20 | Informe spam
Alguna vez me paso eso pero con el FlexGrid tambien de ComponentOne.

Lo que hice para solucionarlo fue cambiar de fila por codigo antes de
hacer la actualizacion.

Porque no lo intentas a ver si te sirve.

Saludos.
Ramón Hernández.

XTV escribió:
Hola, tengo un dataGrid vinculado con un DataSet; y mi problema es que los
datos solo se graban realmente en la base de datos si me muevo de un
registro a otro por el gid; de modo que el ultimo que modifique no se
actualizará a no ser que me mueva a otro registro antes.

Tengo el form, con el grid. Hago cambios en una fila, y sin moverme pulso
sobre el boton de actualizar, que tiene el siguinte código:

Dim UpdatedRows As System.Data.DataSet

Dim InsertedRows As System.Data.DataSet

Dim DeletedRows As System.Data.DataSet



UpdatedRows = Me.TargeDS.GetChanges(DataRowState.Modified)

InsertedRows = Me.TargeDS.GetChanges(DataRowState.Added)

DeletedRows = Me.TargeDS.GetChanges(DataRowState.Deleted)



Try

If Not UpdatedRows Is Nothing Then
Me.daMovFechas.Update(UpdatedRows)

If Not InsertedRows Is Nothing Then
Me.daMovFechas.Update(InsertedRows)

If Not DeletedRows Is Nothing Then
Me.daMovFechas.Update(DeletedRows)

TargeDS.MovCapInternet.AcceptChanges()

Catch eUpdate As System.Exception

MsgBox("Ha ocurrido un problema: " & eUpdate.Message)

End Try



Es decir, en teoria, se deberian de pasar todos los datos modificados a la
base de datos, a menos que el problema sea que el grid no actualiza el
DataSet hasta que se mueve de una fila a otra.

¿Alguna idea?. Por cierto, estoy usando el TrueDBGrid de Componet One, pero
he observado exactamente el mismo problema en el grid standart del framework
1.1

Gracias

XTV


Preguntas similares