En una aplicación Winforms Tengo que registrar todos los cambios en datagrid (datatable). En otras palabras, quiero obtener todos los cambios, ya que se ha cargado. Para esto quiero usar Datatable.GetChanges(). Sé que con GetChanges() Obtengo una tabla de datos que contiene una copia de todas las filas en el DataSet original que tienen cambios pendientes.GetChanges() ¿O RowState para obtener todos los cambios de una tabla de datos?
Mi pregunta es ahora, si también es posible obtener más información adicional de los cambios. Por ejemplo, quiero saber si un fila ha sido agregado o eliminado o solo ha sido actualizado. Si una fila ha sido actualizada, ¿también quiero saber qué celdas se han actualizado? ¿Hay alguna manera de obtener toda esta información rápidamente o tengo que hacer un comparación profunda fila por fila con el datatable original?
¿O es mejor utilizar RowState para obtener todos los cambios?
Gracias por su respuesta. Un par de comentarios: 1) Debe usar Equals(), porque "! =" Comparará las referencias de los objetos devueltos (y devolverá falso incluso si los objetos contienen el mismo valor). 2) Tuve que usar DataRowVersion.Current en lugar de DataRowVersion.Proposed, porque DataRowVersion.Proposed lanzó una excepción. – nightcoder