Deixar o dbgrid com o fundo Cinza ou Branco cfe o dia
galera tenho um DBgrid e não estou conseguindo achar a logica de quando tiver uns 10 registros com datas diferentes deixar ele zebrado por data
assim:
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
02/07/2006 Cinza
03/07/2006 Branco
04/07/2006 Cinza
04/07/2006 Cinza
assim posso deixar no grid o o dia em destaque
Thanks
assim:
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
02/07/2006 Cinza
03/07/2006 Branco
04/07/2006 Cinza
04/07/2006 Cinza
assim posso deixar no grid o o dia em destaque
Thanks
Marcos Fernando
Curtidas 0
Respostas
Aerreira
24/06/2006
Basta alterar a cor se o dia for Par ou Impar:
procedure gridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var Year, Month, Day: Word; begin DecodeDate(CampoData.Value, Year, Month, Day); If odd(Day) then begin gridMain.Canvas.Brush.Color:= clSilver; end else begin gridMain.Canvas.Brush.Color:= clWhite; end; if gdSelected in State then begin gridMain.Canvas.Font.Color:= clWhite; gridMain.Canvas.Brush.Color:= clNavy; end; grid.DefaultDrawDataCell(rect,Column.Field,State); end;
GOSTEI 0
Marcos Fernando
24/06/2006
Eu já pensei nisso,
supondo que tenha duas datas diferentes e impares?
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
03/07/2006 Cinza
03/07/2006 Cinza
03/07/2006 Cinza
ali me parece que vai ficar tudo branco que seja
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
03/07/2006 Branco
03/07/2006 Branco
03/07/2006 Branco
Preciso de algo certo,
Grato guri pela força
Thanks
supondo que tenha duas datas diferentes e impares?
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
03/07/2006 Cinza
03/07/2006 Cinza
03/07/2006 Cinza
ali me parece que vai ficar tudo branco que seja
01/07/2006 Branco
01/07/2006 Branco
01/07/2006 Branco
03/07/2006 Branco
03/07/2006 Branco
03/07/2006 Branco
Preciso de algo certo,
Grato guri pela força
Thanks
GOSTEI 0
Aerreira
24/06/2006
Bom, então nesse caso você terá que criar algum modo de identificar em cada linha do grid se a data (no dataset) do registro anterior ou posterior é diferente e fazer a variação da cor. Mas realmente não está vindo na cabeça agora um meio fácil de fazer isso. Talvez usando um vetor, mas será ruim se sua tabela for muito grande... é... não sei...
GOSTEI 0