Herkese Selam...
DBGrid de cursor un bulunduğu satırı istediğim renkte göstermek istiyorum.(Satırın tümünü)
Bunu nasıl yapabilirim ?
DrawColumnCell ve DrawDataCell ile bişeyler yapmaya çalıştım ama beceremedim.
DBGrid de seçili satırın istenilen renkde olması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Mehmet Burak
- Üye
- Mesajlar: 12
- Kayıt: 16 Haz 2003 06:26
- İletişim:
Merhaba,
nasıl birşey istiyorsunuz tam bilemiyorum ama ben bu tip durumlarda RowSelect özelliğin kulanıyorum. Böylece tüm satır renklendiriliyor ve hangi satırın seçildiği belli oluyor.
Burdaki renkte clHighLight olması lazım. Bu da kullanıcının seçimine göre değişiyor. Kullanıcının seçimi kalsın bence.
Farklı birşey istiyorsanız, belirtirseniz bakarız.
Kolay gelsin.
nasıl birşey istiyorsunuz tam bilemiyorum ama ben bu tip durumlarda RowSelect özelliğin kulanıyorum. Böylece tüm satır renklendiriliyor ve hangi satırın seçildiği belli oluyor.
Burdaki renkte clHighLight olması lazım. Bu da kullanıcının seçimine göre değişiyor. Kullanıcının seçimi kalsın bence.
Farklı birşey istiyorsanız, belirtirseniz bakarız.
Kolay gelsin.
Ben RxDBGrid için aşağıdaki şekilde yapmıştım. Delphinin gridinde de aynı şekilde çalışır herhalde. Database de IPTALKONT diye bi field vardı. İptal edilen kayıtlara E giriliyordu. IPTALKONT fieldı E olan kayıtları aşağıdaki kod ile kırmızı olarak göstertmiştim.
Sevgiler...
procedure TAramaForm.RxDBGrid1GetCellParams(Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor; Highlight: Boolean);
var
Iptalkont: String;
begin
Iptalkont := (Sender as TrxDBGrid).DataSource.DataSet.FieldByName('IPTAL').Asstring;
if (Iptalkont = 'E') or (Iptalkont='e') then
begin
Background := clRed; { shortest }
AFont.Color := clwhite; { longest }
// AFont.Style := AFont.Style + [fsBold];
end ;
//else
// AFont.Style := AFont.Style + [fsBold] ;
if Highlight then begin
AFont.Color := clHighlightText;
Background := clHighlight;
end;
End;
Sevgiler...
procedure TAramaForm.RxDBGrid1GetCellParams(Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor; Highlight: Boolean);
var
Iptalkont: String;
begin
Iptalkont := (Sender as TrxDBGrid).DataSource.DataSet.FieldByName('IPTAL').Asstring;
if (Iptalkont = 'E') or (Iptalkont='e') then
begin
Background := clRed; { shortest }
AFont.Color := clwhite; { longest }
// AFont.Style := AFont.Style + [fsBold];
end ;
//else
// AFont.Style := AFont.Style + [fsBold] ;
if Highlight then begin
AFont.Color := clHighlightText;
Background := clHighlight;
end;
End;
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
- Mehmet Burak
- Üye
- Mesajlar: 12
- Kayıt: 16 Haz 2003 06:26
- İletişim:
Merhaba,
Aşağıda bir kod gönderiyorum, umarım işini görür.
Kolay gelsin.
Aşağıda bir kod gönderiyorum, umarım işini görür.
Kod: Tümünü seç
var
Form1: TForm1;
implementation
type
TCustomDBGridCracker = class(TCustomDBGrid); // datalink'i kullanabilmemiz için şart
{$R *.dfm}
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with TCustomDBGridCracker(DBGrid1) do
if DataLink.ActiveRecord = Row - 1 then
Canvas.Brush.Color := clRed
else
Canvas.Brush.Color := clWhite;
DBgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
- Mehmet Burak
- Üye
- Mesajlar: 12
- Kayıt: 16 Haz 2003 06:26
- İletişim: