Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2004
Migue Rguez Migue Rguez is offline
Miembro
 
Registrado: may 2003
Ubicación: Sanlúcar de Bda. (Cádiz)
Posts: 10
Poder: 0
Migue Rguez Va por buen camino
Buenas...

Una forma es la siguiente:

Lo primero... establece la propiedad "DefaultDrawing" del DGrid a True.

Y lo segundo... en el evento "OnDrawColumnCell" incluye un código como este:
If DBGrid1.DataSource.DataSet.FindField('REC').AsBoolean = True then
begin
DBGrid1.Canvas.Brush.Color := clGreen;
end
else
begin
DBGrid1.Canvas.Brush.Color := clRed;
end;
DBGrid1.Canvas.FillRect(Rect
Esto comprueba el valor del campo REC y dependiendo de si es True o False colorea de celda correspondiente al campo REC en Verde o en Rojo.

¿Te resultó así claro?


Saludos
Responder Con Cita
  #2  
Antiguo 19-07-2004
josem josem is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
josem Va por buen camino
Talking

Hola Foro.,
Sin darme cuenta al presentar mi consulta, omiti un factor muy
importante. Y es que yo estoy actualmente trabajando con iconos en la
primera columna de la Grilla. Y el punto es que no logro pintar celdillas si
ocupo BitMap.O sea, no puedo pintar celdillas y al mismo tiempo dibujar
iconos. Saben por que pasa esto. Y como solucionarlo.?????.

La rutina que estoy ocupando para dibujar los BitMaps es esta:

procedure TFMantencionDepto.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
{
D = Disponible Limpia ==> Dibuja un Rombo Verde
O = Ocupado ==> Dibuja una maleta de viajero
N = No Disponible ==> Dibuja un Rombo Rojo
S = Disponible Sucia ==> Dibuja un Rombo Amarillo

with Sender as TDBGrid do
begin
if Column.FieldName <> '' then
DefaultDrawColumnCell(Rect, DataCol, Column, State)
else if ( Dt1.TInvUni.FieldByName( 'Estado' ).AsString = 'D' ) then
Canvas.StretchDraw( Rect, RVerde.Picture.Graphic )
else if ( Dt1.TInvUni.FieldByName( 'Estado' ).AsString = 'O' ) then
Canvas.StretchDraw( Rect, Maleta.Picture.Graphic )
else if ( Dt1.TInvUni.FieldByName( 'Estado' ).AsString = 'N' ) then
Canvas.StretchDraw( Rect, RRojo.Picture.Graphic )
else if ( Dt1.TInvUni.FieldByName( 'Estado' ).AsString = 'S' ) then
Canvas.StretchDraw( Rect, RAmar.Picture.Graphic )
else
Canvas.StretchDraw( Rect, RVerde.Picture.Graphic );
end;
end;

Gracias.
Saludos
Jose Miguel Bakulic V.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:47:27.


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