Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2009
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
DBGrid zebrado

Hizo mi codigo para poner el DBgrid con listras y no funciono. Mi delphi es el 5(Delphi 5). Mi codigo abajo es: El error estas en las lines con comentarios.
Código Delphi [-]
procedure TfrmRelGerencialMT.DBGrid1DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if not odd(qryAlimentadores.RecNo)then
  begin
    DBGrid1.Canvas.Brush.Color:= clHighlight;
    DBGrid1.Canvas.FillRect(Rect);
    //DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);

   if gdFocused in State then
   begin
     DBGrid1.Canvas.Brush.Color:= clBlack;
     DBGrid1.Canvas.FillRect(Rect);
     //DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
   end;

  end
end;
Responder Con Cita
  #2  
Antiguo 02-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
se ha dado muchas veces este tema. Te recomiendo que eches un vistazo al foro. De todas maneras, te pongo aqui codigo (es de un componente, modificalo a gusto)

Código Delphi [-]

procedure TUDBGrid.DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
     if (datasource.dataset.recordcount = 0) and (gdSelected in state) then canvas.brush.color := clSilver
     else
     begin
          if (gdSelected in state) then canvas.Brush.Color := ColorSeleccionado
          else
          if   SelectedRows.CurrentRowSelected
          then canvas.Brush.Color := ColorSelecciones
          else
          if   data.RecNo mod 2 = 0
          then canvas.Brush.Color := ColorPar
          else canvas.Brush.Color := ColorImpar;

          canvas.Font.Color := $FFFFFF xor canvas.Brush.Color;
     end;

     DefaultDrawColumnCell(Rect,DataCol,Column,State);
     inherited DrawColumnCell(Rect,DataCol,Column,State);
end;
Responder Con Cita
  #3  
Antiguo 02-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Creo que el unico problema que tenias es que en delphi 5 el drawdatacell se deja por cuestiones de compatibilidad con versiones anteriores, pero no se usa: de la ayuda de delphi.

Cita:
Occurs when the grid needs to paint a cell if the State property of Columns is csDefault.

type
TDrawDataCellEvent = procedure (Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState) of object;
property OnDrawDataCell: TDrawDataCellEvent;

Description

Do not write an OnDrawDataCell event handler. OnDrawDataCell is obsolete and included for backward compatibility. Instead, write an OnDrawColumnCell event handler.
Responder Con Cita
  #4  
Antiguo 03-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En mi página web puedes encontrar un componente que te permite realizar eso (y algunas cosillas más) sin tocar lo que ya tienes (es decir, no es un DBGrid); Basta con que lo sueltes en el formulario y lo actives.

También está el código fuente, así que si te interesa más, puedes mirarlo y extraer lo que te interese. échale un vistazo, está asquí y se llama TCustomizaGrid y puedes descargarlo desde aquí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 04-03-2009
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Hizo como el amigo cazo lo dijo y logre exito
Responder Con Cita
  #6  
Antiguo 04-03-2009
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
En mi caso uso el componente ExtDBGrid, que ya tiene esa función en las propiedades. Tiene muchísimas cosas útiles de las que carecen las DbGRid de Delphi. Lo más interesante es la posibilidad de generar reportes "al vuelo" usando Quickreports, sin escribir una sola línea de código.

Es software libre y se puede descargar de Torry.Net

Saludos !
Responder Con Cita
  #7  
Antiguo 04-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Cita:
Hizo como el amigo cazo lo dijo y logre exito
jajjaj, ya me veo cociendo patatas...
Responder Con Cita
  #8  
Antiguo 04-03-2009
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Te han bautizado cazo... digo coso

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGrid: Como redimensionar columnas si se redimensiona el dbGrid? quali OOP 6 08-02-2010 22:00:49
tomar una fila de un DBGrid y traspasarlo a otro DBGrid micky mouse Varios 2 05-06-2008 16:24:18
Pasar lineas de in dbgrid a otro dbgrid look OOP 3 21-09-2007 23:16:29
PickList DBGrid (Pregunta acerca de los DBGRID) lazarous Varios 1 10-01-2006 09:53:12
Como extraer datos de un DBgrid a otro DBgrid mickey Conexión con bases de datos 13 29-01-2004 05:05:30


La franja horaria es GMT +2. Ahora son las 10:09:11.


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