【问题标题】:How to change the fastreport layout in xe7如何在 xe7 中更改 fastreport 布局
【发布时间】:2017-07-30 00:08:50
【问题描述】:

我想根据数据集值更改快速报告中的布局或波段,如何在 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。

【问题讨论】:

  • 你得到了什么:if FieldByName('draw_name').AsString='BIKE_TICKET' then 而不是if FieldByName('draw_name').AsString='BIkE_TICKET' then :: ?

标签: delphi delphi-xe delphi-xe7 fastreport


【解决方案1】:
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();

【讨论】:

  • 我希望根据我的数据集值更改报告的布局。我试过上面没有帮助,我的意图是我想在车票和自行车票来时显示一个文本对象而不是文本对象我想在报告布局中显示图像对象
  • 附上您的 CarTicketPdf.fr3 和 BikeTicketPdf.fr3、准备好的报告 (fp3) 和您想要获得的样本。最好基于标准 Delphi 的组件和本地数据库(如 MS Access mdb)创建一个小型演示项目
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 2015-11-06
相关资源
最近更新 更多