Aşağıdaki kodu istediğim bir satırın renklendirilmesi için kullanıyorum. Kod çalışıyor. Ancak çoklu seçim yapıldığında sadece aktif satır seçili gözüküyor. Yani çoklu seçim yapılıyor fakat sadece tek bir satır seçilmiş gibi boyama yapılıyor. Bu problem koddanda anlaşılacağı gibi sadece bu "Fieldbyname('ISPRINT').AsInteger = 0" şartın sağlandığı satırlarda oluşuyor. Çoklu seçim var ise aşağıdaki kodun seçili satırlara uygulanmasını istemiyorum. Ne yaptıysam bunu başaramadım. Yardımcı olacak arkadaşlara şimdiden teşekkürler.
Kod: Tümünü seç
procedure TGelir_List.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;State: TGridDrawState);
begin
if gdselected in State then exit;
with DBGrid1 do
begin
if DataSource.DataSet.Fieldbyname('ISPRINT').AsInteger = 0 then
begin
canvas.Brush.Color := $00FFD5D5;
canvas.Font.Color := clblack;
defaultdrawcolumncell(rect, datacol, column, state);
end;
end;
label1.Caption := format('%d', [DBGrid1.SelectedRows.Count]);
end;