Refresco de datos en tdbgrid.

21/02/2011 - 18:27 por Maier-Finn | Informe spam
Hola A los pocos que quedamos aqui.

Tengo una cuestion que no soy capaz de resolver.

Les detallo un poco el problema.
Tengo un Form. que tiene 3 frames con un Tdbgrid cada uno de ellos.

Pues bien. A la hora de introducir los datos en unas determinadas textbox y
validar las acciones de entrada, pretendo que los datos sean refrescados y
reflejados en el tdbgrid correspondiente pero de forma Instantanea... porque
digo esto... por lo siguiente. Inicialmente no es mostrada la información.
A la hora de introducir una segunda tanda de datos, y validar es cuando me
aparece reflejado en la tabla los datos que introduje la primera vez.
Se produce un "retraso" en la forma de mostrar la informacion. Aunque os
garantizo que la tabla que toma dicha información la tiene al instante.

Se me ocurrio ejecutar la rutina de grabado, pintado y refresco, colocando
puntos de interrupción y que pasó?... que el muy cabrito lo hace
perfectamente bien y refleja todo de forma correcta.

He intentado meter temporizadores para retardar la accion por si es muy
rapido el refresco y no coge los datos adecuadamente y nada.
He intentado con doevents y nada.

No se por donde tirar para que cada vez que doy a mi tecla aceptar, me salga
la informacion de la forma correcta.

Alguna sugerencia ???
 

Leer las respuestas

#1 Leonardo Azpurua
21/02/2011 - 20:06 | Informe spam
Hola,

Quedamos tan pocos que hay que echar la mano aunque no se tenga idea
de que va la cosa, nada más que para que no nos gane el silencio.

Nunca usé el TDbGrid, así que ya te puedes hacer una idea de lo que
puedo servirte.

¿Combinar DoEvents / Refresh / DoEvents no te sirve?

Una solución de fuerza bruta sería cambiar la propiedad que genera el
RecordSource, o lo que sea. Algo así como Insertar los nuevos datos,
asignar un RecordSource con un conjunto vacío, asignar un record
source con la consulta correcta.

Siempre trabajé con el MsFlexGrid a manopla, justamente porque me
aterraba que me pasara una cosa por el estilo.

Suerte!


"Maier-Finn" escribió en el mensaje
news:iju7ap$k9d$
Hola A los pocos que quedamos aqui.

Tengo una cuestion que no soy capaz de resolver.

Les detallo un poco el problema.
Tengo un Form. que tiene 3 frames con un Tdbgrid cada uno de ellos.

Pues bien. A la hora de introducir los datos en unas determinadas
textbox y validar las acciones de entrada, pretendo que los datos
sean refrescados y reflejados en el tdbgrid correspondiente pero de
forma Instantanea... porque digo esto... por lo siguiente.
Inicialmente no es mostrada la información.
A la hora de introducir una segunda tanda de datos, y validar es
cuando me aparece reflejado en la tabla los datos que introduje la
primera vez.
Se produce un "retraso" en la forma de mostrar la informacion.
Aunque os garantizo que la tabla que toma dicha información la tiene
al instante.

Se me ocurrio ejecutar la rutina de grabado, pintado y refresco,
colocando puntos de interrupción y que pasó?... que el muy cabrito
lo hace perfectamente bien y refleja todo de forma correcta.

He intentado meter temporizadores para retardar la accion por si es
muy rapido el refresco y no coge los datos adecuadamente y nada.
He intentado con doevents y nada.

No se por donde tirar para que cada vez que doy a mi tecla aceptar,
me salga la informacion de la forma correcta.

Alguna sugerencia ???


Preguntas similares