s.a.
bir gridde kayıtların belirli özelliklerine göre renklendirme yapıyorum, ama renklendirilmiş bir satır seçildiği zaman normal bir satır seçilmesi gibi net belli olmuyor. farklı bir çok renk denedim ama nafile.
olayın daha iyi anlaşılması için beyz satırın seçilmiş halinin, ve renklendirilmiş satırın seçilmiş halini resim olarak koyuyorum.
yapmak istediğim renklendirilmiş satırın da, beyaz satır gibi seçili olduğu zaman belirgin bir şekilde görünmesi.
saygılarımla
Şu anda kodlar elimin altında değil ama nasıl satırları renklendirebiliryorsanız seçildiğinde hangi renkleri alacağınıda belirleyebilirsiniz. Umuyorum ki forumda mevcuttur kodlar ama bulamazsanız ben bir bakayım...
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.HZ. MUHAMMED (S.A.)
if f_stokkart.DBGrid1.DataSource.DataSet.FieldByName('STOKDOVIZ').text='DOLAR' then
begin
IF (gdFocused IN State) THEN
dbgrid1.canvas.brush.color := clRed else
f_stokkart.DBGrid1.canvas.Brush.Color:=$00B5FBEA;
f_stokkart.DBGrid1.Canvas.FillRect(rect);
f_stokkart.DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
procedure TForm8.suiDBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
MyValue,zamans: string;
zaman:TDate;
label cikis;
begin
if gdSelected in State then Exit;
MyValue := suiDBGrid2.DataSource.DataSet.FieldByName('durum').AsString;
if MyValue='ÖDENDİ' then
begin
suiDBGrid2.Canvas.Brush.Color := $00EAFFEA;
suiDBGrid2.Canvas.Font.Color:=clMaroon;
end
else then
begin
suiDBGrid2.Canvas.Brush.Color := $008080FF;
suiDBGrid2.Canvas.Font.Color:=clwhite;
end;
suiDBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
@nitrokonat yazdı:hocam gdfocused and state diye arama yaptırdım ve kodumu aşağıdaki gibi düzenledim.
Kod:
if f_stokkart.DBGrid1.DataSource.DataSet.FieldByName('STOKDOVIZ').text='DOLAR' then
begin
IF (gdFocused IN State) THEN
dbgrid1.canvas.brush.color := clRed else
f_stokkart.DBGrid1.canvas.Brush.Color:=$00B5FBEA;
f_stokkart.DBGrid1.Canvas.FillRect(rect);
f_stokkart.DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
- Hocam FillRect yamışsın ama içeriği yazdırmayı unutmuşsun...
(defaultdrawdatacell de olabilir) komutunu kullanarak yazı ve çizim işlerini dbgride yaptırıyorum.
yani fillrect ve textout komutları ile uğraşmıyorum.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim