daha önce seçim yapılan kayıtların yazdırılmasını sormuştum. alan açmadan yapmak için bir listbox kullandım. aşağıdaki kod gridde iken sağ tıkla çağırdığım menüden tek bir kayda zarf basıyor. bunda filtreleme doğru çalışıyor.
Kod: Tümünü seç
procedure TFrmAdrG.BilgiKartYazdr1Click(Sender: TObject);
begin
// inherited;
Dm.TblAdr.Filter:='ID='+Dm.TblAdrID.AsString;
Dm.TblAdr.Filtered:=true;
frxReport1.LoadFromFile(ApplicationPath+'\diplomat.fr3');
frxReport1.PrepareReport(True);
frxReport1.ShowPreparedReport;
Dm.TblAdr.Filtered:=false;
end;
birde kayıtlarn id lerini bir listboxa atarak topluca yaptırmayı denedim.. bu rapor yukardaki ile aynı frxreportu ve frxdbdataseti kullanıyor...
Kod: Tümünü seç
procedure TFrmAdrG.ListeyeEklenenKaytlarYazdr1Click(Sender: TObject);
var
i,j:integer;
yaz:Boolean;
begin
inherited;
frxReport1.PrintOptions.ShowDialog := false;
Dm.TblAdr.DisableControls;
// ShowMessage(inttostr(ListBox1.Items.count));
j:=ListBox1.Items.Count-1;
//showmessage(IntToStr(j));
for i:=0 to j do
begin
Dm.TblAdr.Filter:='ID='+ListBox1.Items[i];
// ShowMessage(Dm.TblAdr.Filter);
Dm.TblAdr.Filtered:=true;
frxReport1.LoadFromFile(ApplicationPath+'\diplomat.fr3');
frxDBDataset1.RangeBegin:=rbCurrent;
frxDBDataset1.RangeEndCount:=1;
frxReport1.PrepareReport(True);
frxReport1.ShowPreparedReport;
// ShowMessage(ListBox1.Items[i]);
end;
Dm.TblAdr.Filtered:=false;
Dm.TblAdr.EnableControls;
frxDBDataset1.RangeBegin:=rbFirst;
frxDBDataset1.RangeEnd:=reLast;
end;
vt dbisam olarak çalışıyor. ilerde mssql yapacağım.