by fernandomoralesdr » Thu Nov 18, 2010 8:21 am
Hola.
Yo utilizo las rejillas sólo para mostrar los datos. Para modificar un registro de la rejilla, con doble click abro un diálogo, edito sus campos, si salgo con Aceptar bloqueo y actualizo. También bloqueo en el momento de borrar. Algo así como:
Edición:
if lSave
while ! Archivo->(dbRLock())
MsgInfo("Registro bloqueado por otro usuario, pulse Enter para reintentar")
end while
...sustituyo los valores del campo por los de las variables
Archivo->(dbCommit())
Archivo->(dbRUnLock())
oBrw:refresh()
end if
Borrado:
if lConforme
while ! Archivo->(dbRLock())
MsgInfo("Registro bloqueado por otro usuario, pulse Enter para reintentar")
end while
Archivo->(dbDelete())
Archivo->(dbCommit())
Archivo->(dbRUnLock())
oBrw:refresh()
end if
Importante lo del dbCommit() para que se actualicen los datos en el disco y tambien que apertures los archivos con la cláusula SHARED.
Espero haberte sido de ayuda.
Un saludo,
Fernando
Las Palmas de Gran Canaria