Ver Mensaje Individual
  #5  
Antiguo 22-05-2013
ses27coves ses27coves is offline
Miembro
 
Registrado: may 2010
Posts: 16
Reputación: 0
ses27coves Va por buen camino
La consulta SQL que utilizo para limitar los registros es:
Código:
Select FIRST 50
ID, NOMBRE, MUNICIPIO, LONGITUD, LATITUD, ALTITUD, PROFUNDIDAD, DESARROLLO, (ORDEN || '-' || SUBORDEN) AS ORDEN, ENTIDAD, PUBLICACION, VERIFICADO, PROTEGIDO, PROPIETARIO,ORDEN AS ORDEN1,SUBORDEN,NOMBREDISCRIMINANTE,TOPO
from CUEVAS
order by
MUNICIPIO, NOMBREDISCRIMINANTE ASC
;
Sobre los eventos, tengo en el DBGrid OnDrawColumnCell que muestra el texto de las celdas de un color o otro dependiendo del valor de uno de los campos
Código:
//>>>>>>>>>>>>>>>>>>>> Color Filas Grid Cuevas >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><
procedure TFPrincipal.DBGridCuevasDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Column.Field.Dataset.FieldbyName('VERIFICADO').asstring = 'SI') or (Column.Field.Dataset.FieldbyName('VERIFICADO').asstring = 'si') then
    begin
       DBGridCuevas.Canvas.Font.Color:= clGreen;
    end;
    DBGridCuevas.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;
//>>>>>>>>>>>>>>>>>>>>
En el DataSet en el evento OnDataChange tanbien tengo otros procedimientos. Pero estos no se ejecutan hasta haber pasado 0,5 segundos.
Código:
procedure TDataModule1.DSCuevasDataChange(Sender: TObject; Field: TField);
begin
  UPrincipal.FPrincipal.Statusbar1.Panels[2].Text:='Cargando mapa y topo...';
  TimerCuevas.Enabled := False;
  TimerCuevas.Enabled := True;
end;
Les explico mejor el problema por si acaso puede haber algún mal entendido.
Si me muevo por el DBGrid con la rueda del ratón o con las flechas de desplazamiento del teclado, este responde bien. El problema esta en el uso de la barra de desplazamiento. Al intentar usarla esta no se mueve. Y al soltarla en algún punto(aunque no se mueva), pasados unos segundos se mueve.

Si bien es cierto que con la tabla entera (20.000 registros) tarda 1 o 2 segundos y con 50 registros tarda menos. Pero en ningún caso se mueve cuando pinchas sobre ella i la mueves.

Gracias por vuestro interés y ayuda.
Responder Con Cita