2017-03-09 29 views
0

我想根據數據集值更改快速報表中的佈局或波段,如何在fastreport 5.0中完成此操作並且我正在使用delphiXE7
如果是我想要的車票打印汽車,如果它的自行車我想打印自行車的詳細信息,我的數據集有所有訂單的價值,其中一些訂單可能有汽車和自行車票,所以當我生成報告(報告是我的應用程序的票據)關於數據集的價值,如果它的汽車我想顯示汽車圖像,如果它的自行車不同的圖像的自行車根據數據集的值和不同的風格如何做到這一點?如何更改xe7中的快速報表佈局

或者這可以通過更改.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

你用得到什麼:'如果FieldByName( 'draw_name')AsString =的then'不是 'BIKE_TICKET''如果FieldByName( 'draw_name')AsString = 'BIkE_TICKET' then' ::? –

回答

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(); 
+0

我希望報告的佈局根據我的數據集值進行更改。我試過以上它沒有幫助,我的意圖是,當車票來了,當自行車車票出現而不是文本對象時,我想顯示文本對象我想在報告佈局中顯示圖像對象 –

+0

將您的CarTicketPdf.fr3和BikeTicketPdf.fr3,準備報告(fp3)以及你想要的樣本。最好創建一個基於標準Delphi組件和本地數據庫(如MS Access mdb)的小型演示項目 – gpi