Merhaba
Dbgrid de tarih fieldini reklendirmem gerek iki tarih arasında 3 ay kalmışsa sarı yapmam gerek rengini ama tarihsel alanda bunu nasıl yapıcam bilmiyorum.
Yardımcı olabilirnmisiniz.
dbgrid tarihsel alan renklendirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
dbgrid tarihsel alan renklendirme
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
Re: dbgrid tarihsel alan renklendirme
Aslında ben 2 tarih arasındaki aralık koşulunu anlayamadım ama koşulu da aşağıda belirttiğim yere yazarsanız inşallah olacaktır.Bi de DBGridin Default Drawing özelliğini False yapmanız gerek.
Kolay gele
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clBlack;
if (gdFocused in State) then
begin
DBGrid1.Canvas.Brush.Color:=clBlack;
DBGrid1.Canvas.Font.Color:=clWhite;
end
else
if (Field.FieldName='TARIH') then
begin
// şuraya koşulunuzu yazın if .... then
DBGrid1.Canvas.Brush.Color:=clYellow;
end
else
DBGrid1.Canvas.Brush.Color:=clWhite;
DBGrid1.DefaultDrawDataCell(Rect,Field,State);
end;
İstikrar sürsün, Türkiye'm büyüsün inşallah.
Re: dbgrid tarihsel alan renklendirme
Kod: Tümünü seç
procedure TFrmKalite.DBGKaliteDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if ADOKaliteGrid.active=true then //dataset açıksa işlemi yaptırıyoruz.
Begin
/// bu kısıma sende gerek yok
if (DBGkalite.datasource.dataset.recno mod 2) =0 then
begin
DBGkalite.Canvas.Brush.Color := cllime;
end
else
begin
DBGkalite.Canvas.Brush.Color := $008AE6D1;
end;
If (gdSelected in state) then // eğer seçili ise
begin
DBGkalite.Canvas.Font.Color:=clblue; // Fontun rengini değiştirir..
DBGkalite.Canvas.Font.Style:=[fsbold];
End;
End;
/// bu kısıma sende gerek yok
try
if Column.Index >11 then
if column.field.asinteger >0 then begin // sen burada tarihi kontrol etmelisin
DBGkalite.Canvas.Font.Color:=clred
end else begin
DBGkalite.Canvas.Font.Color:=clblack;
end;
except
end;
DBGkalite.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
Bir kelimenin anlamını öğretsen bile yeter..



- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
Re: dbgrid tarihsel alan renklendirme
çok teşekkür ederim arkadaşlar.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!