Arkadaşlar Personel Programı yapıyorum.
Aktif tablosunun içinde Çıkış Tarihi var.
Arama Düğmesinden Arama yaptırdığımda DBGridde, Çıkış Tarihi yazılı olanların Ad ve Soyadları ya da tüm satırdaki veriler renkli olsun. Örnek: Kırmızı
Çıkış Tarihi Boş olanlar yani çalışmaya devam edenler ise normal siyah renkte gelsin.
Ben şöyle bişey yaptım ama en sonki yazı rengi kırmızı ise sonrakileride kırmızı, siyah ise sonrakileride siyah gösteriyor.
Begin
form3.ADOQuery1.Close;
if form3.ADOQuery1.SQL.Text ='select * from aktif where cikis_tarihi null' then
begin
form3.DBGrid1.columns[1].Font.Color:=clred;
form3.DBGrid1.columns[2].Font.Color:=clred;
end
else
begin
form3.DBGrid1.columns[1].Font.Color:=clblack;
form3.DBGrid1.columns[2].Font.Color:=clblack
end;
Yardımcı Olursanız sevinirim arkadaşlar. Forumda arama yaptırdım ama sonuca ulaşamadım. Saygılar.
DbGrid'deki Verileri Sorguya Göre Renklendirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: DbGrid'deki Verileri Sorguya Göre Renklendirme
DBGrid1DrawColumnCell eventine bu sekilde yazmayi deneyin
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawColumnCell
(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if VarIsNull(ADOQuery1.FieldByName('cikis_tarihi').Value) then
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Re: DbGrid'deki Verileri Sorguya Göre Renklendirme
Ertugrul yazdı:DBGrid1DrawColumnCell eventine bu sekilde yazmayi deneyinKod: Tümünü seç
procedure TForm1.DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if VarIsNull(ADOQuery1.FieldByName('cikis_tarihi').Value) then DBGrid1.Canvas.Font.Color:=clRed; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
Çok Sağol Dostum. Sadece not Varisnull değişikliğini yaptım.
procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Not VarisNull(ADOQuery1.FieldByName('cikis_tarihi').Value) then
begin
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
Tekrar Teşekkür ediyorum. İyi günler.