PDA

Ver la Versión Completa : StringGrid lento al escribir


MITOPE
01-05-2005, 03:12:40
Estimados señores:

Tengo un horario de citas para el cual utilizo un StrinGrid de 64 Filas * 40 columnas, el cual es llenado con información de un Query que tiene como parametro la fecha. .

Al seleccionar la fecha en un TdateTime debo actualizar el stringGrid con la nueva información de Query correspondiente a la fecha seleccionada, aproximadamente el query trae entre 30 a 35 registros. De cada registro escribo y pinto en 3 celdas, pinto el fondo de un color deternimado, esto difiere de registro en registro. Todo esto en el evento OnDrawCell.

El problema es que demora entre 3 a 4 segundos el actualizar el stringGrid para una nueva fecha elegida, esto da la sensación de que la computadora se congela por este tiempo, no utilizo el dbGrid porque el escribir en las celdas lo hago en base a coordenadas especificas definidas por el usuario. utilizo Delphi 6.0 y Sql2000.

Agradecere sugerencias para evitar esta demora, me mencionaron algo de pintar primero el stringGrid en memoria y luego mostralo en pantalla, pero no se como hacerlo.

Gracias a todos de antemano .

Neftali [Germán.Estévez]
02-05-2005, 09:48:20
Tal vez podrías rellenar los TStrings en memoria y luego asignarlos, pero seguramente el tiempo de pintado lo perderás igualmente, ya que tienes programadas cosas en el OnDrawCell.
¿Puedes colocar el código que utilizas para llenarlo? Tal vez viéndolo podamos ayudarte un poco más.