PDA

Ver la Versión Completa : Edicion DBGrid


Caro
09-06-2006, 17:00:28
Hola a todos

Tengo un problema con el dbgrid, he buscado en el foro pero no he encontrado ningun hilo que solucione mi problema.

Estoy utilizando componentes ADO conectados a mi dbgrid tengo dos campos que pueden ser editados, hasta ahi todo bien, pero si estoy cambiando el valor en una celda del DbGrid resulta que no siempre guarda los cambios, Solo guarda los cambios en la Base de Datos cuando me muevo de la celda en la que hice cambios a otra celda del mismo dbGrid, pero si me voy directamente a otro componente que no sea el dbGrid o si hago enter en la celda y despues me voy a otro componente resulta que No GRABA :eek: , como puedo solucionar esto amigoa, antes solo utilizaba el dBGrid para mostrar datos pero ahora lo tengo que hacer que sea editable y me estoy encontrando con muchos problemas, Ayuda Por Favor :confused: .

Delphi7 y Access

Saludos y que tengan un Bonito Dia

Sick boy
09-06-2006, 17:21:13
No graba porque no haces un post de tu tabla.

Cuando te mueves a otro registro, el post es automatico, y por eso se graba.
Si te fijas, en el indicador del grid veras como cuando te mueves a otro registro cambia al "triangulito", mientras que si no te mueves el indicador queda en modo edición.

Pulsar ENTER no significa que hagas un post de la tabla (salvo que captures la pulsación y hagas tu mismo el post), y lo mismo sucede si haces click en otro componente. La tabla se queda en modo de EDICION hasta que tu hagas el POST (o CANCEL).

Se ve facil si incluyes un DBNavigator, el cual tiene un boton para Aceptar (POST) o Cancelar (CANCEL).

Es importante que CONTROLES cuando se entra y se sale del modo de edición, obligando a pulsar los botones correspondientes.

Aunque tambien puedes poner el post en los eventos del dbgrid (onexit por ejemplo) y realizar una accion por defecto, o preguntar si se quieren guardar los cambios.

Yo, personalmente, no suelo permitir que se edite directamente sobre los dbgrid. Da más trabajo, pero tambien controlo todo el proceso.
Sobre el tema DBAware vs non-DBAware hay mucho escrito.

Caro
09-06-2006, 18:02:26
Muchisimas Gracias Sick boy

......................
Si te fijas, en el indicador del grid veras como cuando te mueves a otro registro cambia al "triangulito", mientras que si no te mueves el indicador queda en modo edición.
......................


ni me habia dado cuenta que cambiaba


Aunque tambien puedes poner el post en los eventos del dbgrid (onexit por ejemplo) y realizar una accion por defecto, o preguntar si se quieren guardar los cambios.
.....................


esto fue lo que hice y me funciono perfectamente, muchisimas gracias de nuevo