dbgridi aylara yada haftaya göre gruplandırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

dbgridi aylara yada haftaya göre gruplandırma

Mesaj gönderen akuyumcu63 »

değerli arkadaşlar;

cekler adında bir tablom var, bu tabloya eklenen çekleri dbgrid te aylara göre renklendirmek istiyorim. mesela 1. ay sarı 2. ay kırmızı 3. ay sarı 4. ay kımızı .... şeklinde.

kolay gelsin,
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

Uses kısmına dateutils ekleyin ve

dbgridin DrawColumnCell(... olayına
var
Ay:Double;
Begin
Ay:=MonthOf(TableTARIH.Value);
Case Ay off
1:DBGrid1.Canvas.Brush.Color :=clred;
2:DBGrid1.Canvas.Brush.Color :=clyellow;
3:DBGrid1.Canvas.Brush.Color :=cllime;
4:DBGrid1.Canvas.Brush.Color :=claqua;
.......
.......
End;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
End;
Kolay gelsin.
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Mesaj gönderen akdatilla »

Kod: Tümünü seç

uses DateUtils;
const
     AyRenkleri:Array [1..12] of TColor=(clRed,clYellow,clLime,clAqua,clPurple,
     clGreen,clWhite,clBlack,clMaroon,clGray,clFuchsia,clSkyBlue);
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
     if Sender is TDBGrid Then
     With sender as TDBGrid Do
     if Assigned(DataSource) Then
     Begin
          Canvas.Brush.Color:=AyRenkleri[MonthOf(DataSource.DataSet.FindField('TARIH').AsDateTime)];

          DefaultDrawColumnCell(Rect, DataCol, Column, State);

     end;
end;
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Mesaj gönderen akuyumcu63 »

değerli arkadaşlar;

verdiginiz yanıtlar için ikinizede çok teşşekkür ederim. gayet güzel oldu.
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Mesaj gönderen akuyumcu63 »

aylara göre reklendirdikten sonra, aylara göre toplayıp editlere aktarma işlemini nasıl yapabilirim.
Cevapla