我想根据数据集值更改快速报告中的布局或波段,如何在fastreport 5.0中完成此操作并且我正在使用delphiXE7
如果是车票,我想打印汽车,如果我的自行车我想要打印自行车的详细信息,我的数据集包含所有订单的值,其中一些订单可能有汽车和自行车票,所以,当我生成报告时(报告是我的应用程序的票据)基于数据设置值,如果它的车我想要显示汽车图像,如果它的自行车基于数据设置值和不同风格的自行车图像怎么能这样做?
或者这可以通过更改.fr3文件来完成吗?
with frxCODOrdersDBDataset.DataSet do
begin
First;
while not Eof do
begin
if FieldByName('draw_name').AsString='CAR_TICKET' then
begin
frxCODOrdersReport.LoadFromFile(ExtractFilePath(Application.ExeName) + '\WebTicketPdf\CarTicketPdf.fr3');
frxCODOrdersReport.PrepareReport();
end
else if FieldByName('draw_name').AsString='BIkE_TICKET' then
begin
frxCODOrdersReport.LoadFromFile(ExtractFilePath(Application.ExeName) + '\WebTicketPdf\BikeTicketPdf.fr3');
end;
Next;
end;
end;
Screen.Cursor := crDefault; // Or you can restore a saved cursor.
frxCODOrdersReport.ShowReport();
但是上面的代码生成并且这只打印或生成第一张车票pdf。
答案 0 :(得分:0)
var IsFirst: Boolean;
with frxCODOrdersDBDataset.DataSet do
begin
First;
IsFirst := True;
while not Eof do
begin
if FieldByName('draw_name').AsString='CAR_TICKET' then
begin
frxCODOrdersReport.LoadFromFile(ExtractFilePath(Application.ExeName) + '\WebTicketPdf\CarTicketPdf.fr3');
frxCODOrdersReport.PrepareReport(IsFirst);
end
else if FieldByName('draw_name').AsString='BIkE_TICKET' then
begin
frxCODOrdersReport.LoadFromFile(ExtractFilePath(Application.ExeName) + '\WebTicketPdf\BikeTicketPdf.fr3');
frxCODOrdersReport.PrepareReport(IsFirst);
end;
if IsFirst then IsFirst := False;
Next;
end;
end;
Screen.Cursor := crDefault; // Or you can restore a saved cursor.
frxCODOrdersReport.ShowPreparedReport();