Momentan werden alle Einträge aus der Checklistbox ausgedruckt egal ob angecheckt oder nicht.
Delphi-Quellcode:
procedure TfrmAusweisdruck.bitbtnDruckenClick(Sender: TObject);
begin
ppReport1.Print;
end;
Ich möchte aber, dass nur Einträge ausgedruckt werden, die auch angecheckt sind, wie löse ich das?
Vor dem Print einfach einen Filter auf die
Query setzen. In etwa so:
Delphi-Quellcode:
var
sFilter : String;
i : Integer;
begin
sFilter := '';
for i := 0 to chlistboxMitarbeiter.Itemcount-1 do begin
if chlistboxMitarbeiter.Items[i].checked then begin
if sFilter <> '' then sFilter := sFilter + ' or ';
sFilter := sFilter + 'Id = ' + IntToStr(Integer(chlistboxMitarbeiter.Items.Objects[i]));
end;
end;
if sFilter <> '' then begin
qMitarbeiter.Filter := sFilter;
qMitarbeaiter.Filtered := True;
end;
ppReport1.Print;
end;
Ungetestet im Editor geschrieben.