(26-04-2022, Saat: 13:11)OZCANK Adlı Kullanıcıdan Alıntı:(26-04-2022, Saat: 11:55)cinarbil Adlı Kullanıcıdan Alıntı: [quote pid='49245' dateline='1650959599']
Aynı FISNO aynı olanlar bir renk olsun tek olanlar beyaz nasıl yapabilirim?
Kabaca yaptım kalanını kendiniz düzenleye bilirsiniz
ince ayarları
uses data_prg; procedure TForm1.FormCreate(Sender: TObject); begin data_form.siparis_oku('select * from siparis',false); test_grid.DataSource := data_form.siparis_kaynak; test_grid.Columns[0].Field := data_form.siparis_sorgu.FieldByName('S_IMALAT_NO'); test_grid.Columns[1].Field := data_form.siparis_sorgu.FieldByName('S_BAYI_ADI'); test_grid.Columns[2].Field := data_form.siparis_sorgu.FieldByName('S_Grup_kod'); end; procedure TForm1.test_gridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (data_form.siparis_sorgu.RecNo > 0) and (data_form.siparis_sorgu.FieldByName('S_Grup_kod').Text = onceki) then begin test_grid.Canvas.Brush.Color:=Clred; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end else begin test_grid.Canvas.Brush.Color:=Clyellow; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); onceki:= data_form.siparis_sorgu.FieldByName('S_Grup_kod').Text end;
Teşekkür ederim kod için. Bende düzenledim kullandım ama hepsi sarı oldu

procedure TForm29.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var
onceki:String;
begin
if (StokKontrol.RecNo > 0) and (StokKontrol.FieldByName('FISNO').Text = onceki) then begin
DBGrid3.Canvas.Brush.Color:=Clred;
DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end else begin
DBGrid3.Canvas.Brush.Color:=Clyellow;
DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);
onceki:= StokKontrol.FieldByName('FISNO').Text
end;
[/quote]bilgisayar yok önünde denemeden yazıyorum
if (StokKontrol.RecNo > 0) and (StokKontrol.FieldByName('FISNO').Text = onceki) then begin
satırını yanlış düzenlemişim öncelikle
if StokKontrol.FieldByName('FISNO').Text = onceki then begin
Olarak değiştirerek dener misin.
(26-04-2022, Saat: 13:44)cinarbil Adlı Kullanıcıdan Alıntı:bilgisayar yok önünde denemeden yazıyorum(26-04-2022, Saat: 13:11)OZCANK Adlı Kullanıcıdan Alıntı: Kabaca yaptım kalanını kendiniz düzenleye bilirsiniz
ince ayarları
uses data_prg; procedure TForm1.FormCreate(Sender: TObject); begin data_form.siparis_oku('select * from siparis',false); test_grid.DataSource := data_form.siparis_kaynak; test_grid.Columns[0].Field := data_form.siparis_sorgu.FieldByName('S_IMALAT_NO'); test_grid.Columns[1].Field := data_form.siparis_sorgu.FieldByName('S_BAYI_ADI'); test_grid.Columns[2].Field := data_form.siparis_sorgu.FieldByName('S_Grup_kod'); end; procedure TForm1.test_gridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (data_form.siparis_sorgu.RecNo > 0) and (data_form.siparis_sorgu.FieldByName('S_Grup_kod').Text = onceki) then begin test_grid.Canvas.Brush.Color:=Clred; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end else begin test_grid.Canvas.Brush.Color:=Clyellow; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; test_grid.DefaultDrawColumnCell(Rect, DataCol, Column, State); onceki:= data_form.siparis_sorgu.FieldByName('S_Grup_kod').Text end;
Teşekkür ederim kod için. Bende düzenledim kullandım ama hepsi sarı oldu
procedure TForm29.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); Var onceki:String; begin if (StokKontrol.RecNo > 0) and (StokKontrol.FieldByName('FISNO').Text = onceki) then begin DBGrid3.Canvas.Brush.Color:=Clred; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); end else begin DBGrid3.Canvas.Brush.Color:=Clyellow; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State); onceki:= StokKontrol.FieldByName('FISNO').Text end;
if (StokKontrol.RecNo > 0) and (StokKontrol.FieldByName('FISNO').Text = onceki) then begin
satırını yanlış düzenlemişim öncelikle
if StokKontrol.FieldByName('FISNO').Text = onceki then begin
Olarak değiştirerek dener misin.
[/quote]
kusura bakmayın @frmman mesajı yeni gördüm
doğru söylüyor onceki adlı tanımlama procedure işin de olmayacak oradan silin formun public kısmına tanımlayın
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)

