Herkese selamlar, hayırlı Ramazan'lar;
İki ayrı formda birbirleri ile ilişkili iki adet table'ım var...1.ci formdaki dbgrid yapılan satışın ana hatlarını içerirken, bu griddeki ayrıntı istediğim satışın üzerine tıkladığımda, 2.ci form ve dolayısı ile dbgrid'de ayrıntılara ulaşılacak şekilde düzenledim...
Sorum ise şu şekilde...: 2.ci formdaki ayrıntıları gösteren dbgrid için bir kaydet butonu koydum, bunu kaydettiğim anda da 1.ci formdaki dbgrid'in o satışa ait satırını farklı bir renk yapmasını istiyorum...Yani başka bir deyişle, satışı sonlandıracak butona tıkladığımda, sonlandırdığım satış kırmızı renkte görünürken, sonlanmamış satışlar yeşil görünecek gibi...
Ayrıca, arşivden incelediğim kadarı ile dbgrid renklendirmede dbgrid'in DrawColumnCell olayı kullanılmış, acaba renklendirmeyi kaydet butonuna ekleyeceğimiz bir kod ile yapacağımdan yazacağım yer farkedecek midir?
DBGrid ve Renk
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
satış işleminin sonlanıp sonlanmadığını bir alan ile kontrol ediyorsan
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if Field.Value = "xx" then
DBGrid1.Canvas.Brush.Color := clWhite
else
DBGrid1.Canvas.Brush.Color := clSkyBlue;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
Sn. Lazio;
DBGrid'de bir koşul var, yalnız DBGridDrawDataCell değil de DBGridDrawColumnCell'de renklendirme yapabildim, ikisi arasındaki fark nedir acaba?
Kod şu şekilde:
Bu kod form3'de kullanılacak, ama koşulu yani table6DURUM kolonundaki 'true' koşulunu form5'deki işleme göre verdirmekteyim...
Yani önce form3'de bir işlem yarım olarak yapıp kaydediyorum, form5'de ise işlem tamamına eriyor ve buradaki bir butonla işlemi sonlandır dediğimde form5 kapanıp form3 açılacak ve tamamlanmış olan işlem grid satırında SkyBlue gözükürken, tamamlanmamış işlemler Red olarak gözükecek...
Şimdi yukarıdaki kodla bütün satırlar, true olsun ya da olmasın kırmızı görünmekte...
DBGrid'de bir koşul var, yalnız DBGridDrawDataCell değil de DBGridDrawColumnCell'de renklendirme yapabildim, ikisi arasındaki fark nedir acaba?
Kod şu şekilde:
Kod: Tümünü seç
procedure TForm3.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if table6DURUM.Text='true' then
dbgrid4.Canvas.Brush.Color:= clSkyblue
else
dbgrid4.Canvas.Brush.Color:= clRed;
dbgrid4.DefaultDrawColumnCell(Rect,DataCol, Column,State);
end;
Yani önce form3'de bir işlem yarım olarak yapıp kaydediyorum, form5'de ise işlem tamamına eriyor ve buradaki bir butonla işlemi sonlandır dediğimde form5 kapanıp form3 açılacak ve tamamlanmış olan işlem grid satırında SkyBlue gözükürken, tamamlanmamış işlemler Red olarak gözükecek...
Şimdi yukarıdaki kodla bütün satırlar, true olsun ya da olmasın kırmızı görünmekte...
Sn. Lazio;
Aşağıdaki kod işimi gördü, table ile olmuyormuş demek ki, bu arada bunu da öğrenmiş oldum...Yardımlarınız için teşekkürler..
Aşağıdaki kod işimi gördü, table ile olmuyormuş demek ki, bu arada bunu da öğrenmiş oldum...Yardımlarınız için teşekkürler..
Kod: Tümünü seç
procedure TForm3.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DBGrid4.Fields[5]).Value='true' then
dbgrid4.Canvas.Brush.Color:= clSkyblue
else
dbgrid4.Canvas.Brush.Color:= clRed;
dbgrid4.DefaultDrawColumnCell(Rect,DataCol, Column,State);
end;