Comprobar datos borrados en un dataset
Hola soy nueva en el foro y queria agradecer la ayuda que se obtiene aqui.
El problema que tengo es el siguiente.
En una factura quiere tener la opción de modificar, permitiendo borrar lineas.
Cuando borro una linea lo hago en el dataset, y aqui se produce el problema. Al calcular el total de nuevo dice que estoy acediendo a una fila que no existe, sin embargo el número de líneas es el mismo antes que despues de borrar.
Supongo que haya alguna forma de saber si la linea en el dataset a sido borrado o no, pero no se como puede ser.
Gracias por vuestra ayuda
El problema que tengo es el siguiente.
En una factura quiere tener la opción de modificar, permitiendo borrar lineas.
Cuando borro una linea lo hago en el dataset, y aqui se produce el problema. Al calcular el total de nuevo dice que estoy acediendo a una fila que no existe, sin embargo el número de líneas es el mismo antes que despues de borrar.
Supongo que haya alguna forma de saber si la linea en el dataset a sido borrado o no, pero no se como puede ser.
Gracias por vuestra ayuda
Antes de acceder al valor de la fila, pregunta si es nulo el valor. Y dependiendo de eso, ya accedes y lo guardas ó ignoras el registro.
El dataset marca las filas que eliminas como borradas, pero no las elimina inmediatamente. El problema es que las filas marcadas como borradas no son accesibles, y por eso te da error al intentar leerlas.
Para comprovar si una fila esta eliminada debes usar la propiedad RowState de System.Data.DataRow, que es una enumeracion, si el valor es DataRowState.Deleted la fila esta eliminada.
El DataSet tiene una funcion AcceptChanges, si la llamas entonces las rows eliminadas desapareceran definitivamente del dataset. Con RejectChanges volveras al estado del dataset cuando se hizo el ultimo AcceptChanges.
Espero haber ayudado en algo, no dudes en preguntar si aun hay algo que no queda claro
Para comprovar si una fila esta eliminada debes usar la propiedad RowState de System.Data.DataRow, que es una enumeracion, si el valor es DataRowState.Deleted la fila esta eliminada.
El DataSet tiene una funcion AcceptChanges, si la llamas entonces las rows eliminadas desapareceran definitivamente del dataset. Con RejectChanges volveras al estado del dataset cuando se hizo el ultimo AcceptChanges.
Espero haber ayudado en algo, no dudes en preguntar si aun hay algo que no queda claro
Muchas gracias por vuestra ayuda. El problema ya esta resuelto, utilice el datarowstate y ya no se producen errores.
Mil gracias
Mil gracias