Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Pintar el posicionamiento del Locate (https://www.clubdelphi.com/foros/showthread.php?t=26492)

ilichhernandez 25-10-2005 07:15:47

Pintar el posicionamiento del Locate
 
Hola a todos nuevamente....mi duda es la siguiente, realizao un Locate sobre una dbgrid, entonces quiero que el lregistro que es apuntado tenga un color cualquiera....pero no cacho como hacerlo.... no tengo ni una idea.... revise el foro pero lo que encontre no supe como poder implementarlo...
Sugerencias seran todas agradecidas.....


Ilich

Neftali [Germán.Estévez] 25-10-2005 09:48:21

¿El Locate lo estás haciendo sobre el mismo DataSet que tienes conectado el DBGrid?
Si es así, el registro activo debe ser el que has encontrado utilizando Locate.
Activando las opciones dgRowSelect y dgAlwaysShowSelection del DBGrid debberías poder ver el registro activo (toda la línea seleccionada) aunque el DBGrid no tenga el foco.

Si lo que quieres es utilizar un DataSet diferente al del DGrid, deberás programar el evento "OnDrawColumnCell" del Grid.

Pruébalo y ya dirás...

Ivanzinho 25-10-2005 12:42:16

Cita:

Empezado por Neftali
Si lo que quieres es utilizar un DataSet diferente al del DGrid, deberás programar el evento "OnDrawColumnCell" del Grid.

A continuación te pongo un ejemplo de utilizacion

Código Delphi [-]
 
procedure TFRegMediciones.dbRejillaDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
   begin
      if qRegmedicionVal_rm.Value = qRegmedicionVop_rm.Value then
         begin
            dbRejilla.Canvas.brush.color := claqua;
            dbRejilla.DefaultDrawColumnCell(Rect, DataCol, Column, State);
         end
      else if ((qRegmedicionVal_rm.Value - qRegMedicionDsu_rm.Value) > qRegmedicionVop_rm.Value) or
              ((qRegmedicionVal_rm.Value + qRegMedicionDin_rm.Value) < qRegmedicionVop_rm.Value) then
         begin
            dbRejilla.Canvas.brush.color := cl3dlight;
            dbRejilla.DefaultDrawColumnCell(Rect, Datacol, Column, State);
         end; 
   end;

Nota: qRegMedicion es un TQuery


La franja horaria es GMT +2. Ahora son las 01:35:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi