Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Question Color distintivo en DBgrid segun fechas

Que tal Gente.

Estoy tratando de pintar lor registros de un DBgrid de dos colores segun un campo fecha.

Si bien hay varios hilos sobre colorear DBgrids, de todos no logré el pintado que deseo.

Que es simplemente saber si el registro siguiente tiene la misma fecha que el actual, si tiene la misma fecha lo pinto del mismo color que el actual(clInfoBk), caso contrario lo dejo color blanco.

Y eso para cada registro, de modo que en la grilla se vean separadas las distintas fechas.

Resultando el pintado de la grilla algo asi.

Fecha (color de pintado)
10/09/07 blanco
10/09/07 blanco
10/09/07 blanco
12/09/07 clInfoBk
12/09/07 clInfoBk
12/09/07 clInfoBk
13/09/07 blanco
13/09/07 blanco
14/09/07 clInfoBk

Lo que me falta es saber por medio del metodo DBgrid1.Dataset ¿que valor de fecha tiene el siguiente registro??

Espero haberme explicado bien!

Gracias
Responder Con Cita
  #2  
Antiguo 29-09-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
saludos, no se si te entendí, de todas formas revisa el pequeño codigo que he estado desarrollando para por medio del metodo DBGrid.DataSource.DataSet sacar el valor del campo siguiente al campo en el que estas actualmente, ¿me entiendes no?, entonces, estos codigos van en el evento DrawColumnCell del DBgrid, quedando así:

Código:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  fIndex: Integer;
begin
  fIndex := DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).Index;
  if fIndex < DBGrid1.DataSource.DataSet.FieldCount -1 then
    Caption := DBGrid1.DataSource.DataSet.Fields[fIndex + 1].AsString
end;
ahora, esto da un poco de dolor de cabeza, a veces se queda sin mostrar el valor del campo siguiente pero eso ya debe ser problema del evento en el que programes para calcular este valor,

espero que te sirva de algo,

saludos!
aeff!!
Responder Con Cita
  #3  
Antiguo 03-10-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Question

Estube tratando de adaptar ese codigo a mi necesidad pero no hay forma!

Con eso obtengo el valor dle campo siguiente.

Necesito saber el valor del campo FECHA del regsitro siguiente. Simplemente eso para compararlo al valor del campo actual y si es diferente pinto la celda de otro color.

¿alguna idea?

¿Algun evento o propiedad que sugieran estudiar?

Gracias
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
Problema en Color de fila en DBGrid segun campo amadis OOP 3 31-01-2007 16:45:26
RAVE ¿Como cambiar color de fondo segun resultado del query? ach_666 Impresión 0 03-05-2006 00:33:28
Cambiar color en panel de DBCtrlGrid segun valor de un atributo akinom38 Varios 4 23-01-2006 14:25:30
Color DBGrid según grupo de filas Cabanyaler OOP 11 28-11-2005 08:22:32
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36


La franja horaria es GMT +2. Ahora son las 08:13: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