PDA

Ver la Versión Completa : Duda con state de tabla


Kenobi
19-03-2009, 15:40:18
Hola amigos, tiempo sin venir por aca a molestar...
tengo una duda con esto de los states o mejor dicho quiero hacer algo y no se bien como ...procedo a explicar

en mi sistema tengo definido el comportamiento de los botones segun el estado de la tabla,

si esta en dsBrowse puedo modificar, eliminar, no cancelar ni guardar porque para que si estoy en modo de exploracion... .bien tengo un procedure que investiga el state de la tabla para habilitar (y posibilitar) hacer las cosas basicas que se hacen con los registros (editar, agregar,modificar,eliminar,cancelar) ahora bien la duda es la siguientel, en el guardar tengo algo asi

if tabla.state in [dsEdit,dsInsert] then tabla.post

esto funciona, sin embargo muchas veces a pesar de que activamos el edit en una tabla, la verdad no hicimos cambios en el registro y despreocupadamente le damos guardar y en efecto guarda (lo mismo que teniamos) pues bien me gustaria que el post solo se ejecutara si en efecto
tabla.edit y modifique algo....

digo yo si no modifique nada para que voy a guardar ...lo que estoy buscando un state que me si se modifico algo claro esta que esto se puede hacer por otra via pero la idea es la menor cantidad de codigo (no por flojera mas bien eficiencia del codigo)

Gracias espero que se entienda la pregunta....

Al González
19-03-2009, 19:53:25
¡Hola!

Para ello puedes agregar la propiedad Modified:

If (Tabla.State In dsEditModes) And Tabla.Modified Then
Tabla.Post;


Aunque esto no te salvará de los casos donde a un campo se le asigne el mismo valor que ya tenía (naturaleza del TDataSet nativo). ;)

Saludos.

Al González. :)