procedure TTelefTipForm.DBGrid1DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if dm1.ADOTelefTipTable.FieldByName('KAYITNO').AsInteger=2 then
begin
DBGrid1.Canvas.Brush.Color := clRed;
end else
begin
DBGrid1.Canvas.Brush.Color := clSkyBlue;
end;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
diye bir komut var ve ben aslında sadece dbgridin 1.kolonundaki hücrelere bakmasını ve içinde 2 olan hücreyi renklendirmesini istedim ama kod hücre yerine satırı renklendirdi burada nerede hata yapıyorum bu arada delphi6 kullanmaktayım
teşekkürler.
s.a.
1.lütfen bundan sonra kodlarınızı code tagı içine alın.
2.sütünu kontrol ettirmemişsin. eğer sütün ikinci sütunsa diye yapılması gereken kontrol hani?
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
öncelikle yaptığım hatadan dolayı beni mazur görmenizi arzu edior vede özür diliyorum
bu arada cevabı şu şekilde yazınca çözümü elde edebildim ve paylaşmak istedim ki en azından konu açıkta kalmasın
procedure TTelefTipForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Column.FieldName = 'KAYITNO' then //only do for the cell displaying KAYITNO
// if (Column.Field.AsInteger mod 2 <> 0) then begin //burası
//tekleri satırları seçer
if (Column.Field.AsInteger=3) then begin
DBGrid1.Canvas.Brush.Color := clGreen;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGrid1.Canvas.Brush.Color := clRed;
end;
end;