FastReport VCL程式設計師手冊:使用TfrxReport元件
FastReport VCL是用於Delphi,C ++ Builder,RAD Studio和Lazarus的報告和文件建立VCL庫。它提供了視覺化模板設計器,可以訪問最受歡迎的資料來源,報告引擎,預覽,將過濾器匯出為30多種格式,並可以部署到雲,Web,電子郵件和列印中。
近日,FastReport VCL更新至v6.9,在新版本中,在PDF匯出中增加了對以下物件的互動式表單支援:文字,核取方塊和圖片。能夠透過InteractiveFormsFontSubset屬性將所需的字形僅包含在互動式形式中。同時修復了多個Bug問題。歡迎下載體驗。(點選下方按鈕下載)
載入和儲存報告
預設情況下,報告表單與專案表單一起儲存,即儲存在DFM檔案中。在大多數情況下,不需要任何其他操作,因此您無需採取特殊措施即可載入報告。如果您決定將報告表單儲存在檔案中或DB BLOb欄位中(這提供了極大的靈活性,即您可以在不重新編譯程式的情況下修改報告),則必須使用以下TfrxReport方法來載入和儲存報告:
function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;
從檔案中載入具有給定名稱的報告。如果第二個引數等於“ True”,但找不到該檔案,則它將生成異常。如果檔案載入成功,則返回“ True”。
procedure LoadFromStream(Stream: TStream);
從流中載入報告
procedure SaveToFile(const FileName: String);
將報告儲存到具有指定名稱的檔案中
procedure SaveToStream(Stream: TStream);
將報告儲存到流中
帶有報告表單的檔案預設情況下具有“ FR3”副檔名。
例子:
Pascal:
frxReport1.LoadFromFile('c:\1.fr3'); frxReport1.SaveToFile('c:\2.fr3');
C ++:
frxReport1->LoadFromFile("c:\\1.fr3"); frxReport1->SaveToFile("c:\\2.fr3");
設計報告
呼叫報表設計器是透過TfrxReport.DesignReport方法執行的。設計人員必須包含在您的專案中(使用TfrxDesigner元件或將“ frxDesgn”單元新增到使用列表中就足夠了)。
該DesignReport方法採用兩個預設引數:
procedure DesignReport(Modal: Boolean = True; MDIChild: Boolean = False);
Modal引數確定設計者是否應該是模態的。MDIChild引數允許使設計器視窗成為MDI子視窗。
例子:
frxReport1.DesignReport;
執行報告
應用以下兩種TfrxReport方法之一將啟動報告:
procedure ShowReport(ClearLastReport: Boolean = True);
啟動報告並在預覽視窗中顯示結果。如果“ ClearLastReport”引數等於“ False”,則該報告將新增到先前構建的報告中,否則將清除先前構建的報告(預設情況下)。
function PrepareReport(ClearLastReport: Boolean = True): Boolean;
在不開啟預覽視窗的情況下啟動報告。引數分配與“ ShowReport”方法中的相同。如果成功構建了報告,則返回“ True”。
在大多數情況下,使用第一種方法更為方便。它會立即顯示預覽視窗,同時繼續構建報告。
如果需要在先前構造的報表中新增另一個報表(此技術用於批次報表列印),則可以方便地使用“ ClearLastReport”引數。
例子:
frxReport1.ShowReport;
預覽報告
可以透過兩種方式在預覽視窗中顯示報告:透過呼叫TfrxReport.ShowReport 方法(如上所述)或藉助該TfrxReport.ShowPreparedReport方法。在第二種情況下,不執行報告構造,但顯示完成的報告。這意味著,您應該在PrepareReport方法的幫助下預先構建它,或者從檔案中載入以前構建的報告(請參閱載入和儲存完成的報告)。
例子:
Pascal:
if frxReport1.PrepareReport then frxReport1.ShowPreparedReport;
C ++:
if(frxReport1->PrepareReport(true)) frxReport1->ShowPreparedReport();
在這種情況下,報告構建首先完成,然後顯示在預覽視窗中。構造大型報告可能要花費很多時間,因此使用ShowReport非同步方法比PrepareReport/更好ShowPreparedReport。預設情況下,可以透過TfrxReport.PreviewOptions屬性分配預覽設定。
列印報告
在大多數情況下,您將從預覽視窗中列印報告。要手動列印報告,應使用以下TfrxReport.Print方法,例如:
frxReport1.LoadFromFile(...); frxReport1.PrepareReport; frxReport1.Print;
同時,將出現可以設定列印引數的對話方塊。您可以預設分配設定,並在該TfrxReport.PrintOptions屬性的幫助下禁用列印對話方塊。
載入並儲存完成的報告
可以從預覽視窗執行。這也可以在TfrxReport.PreviewPages方法的幫助下手動執行:
function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean; procedure SaveToFile(const FileName: String); procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream);
分配和引數類似於相應的TfrxReport方法。預設情況下,包含完成的報告的檔案的副檔名為“ FP3”。
例子:
帕斯卡:
frxReport1.PreviewPages.LoadFromFile('c:\1.fp3'); frxReport1.ShowPreparedReport;
C ++:
frxReport1->PreviewPages->LoadFromFile("c:\\1.fp3"); frxReport1->ShowPreparedReport();
注意:完成報表載入後,將透過ShowPreparedReport方法執行其預覽!
匯出報告
可以從預覽視窗執行。也可以透過TfrxReport.Export方法手動執行該操作。在此方法的引數中,應指定要使用的匯出過濾器:
frxReport1.Export(frxHTMLExport1);
匯出過濾器元件必須可用(您必須將其放在專案的窗體上)並已正確調整。
建立一個自定義預覽視窗
FastReport在標準預覽視窗中顯示報告。如果由於某種原因它不適合您,則可能會建立一個自定義預覽表單。為此,TfrxPreview設計了FastReport元件皮膚中的元件。要顯示報告,應將此TfrxReport.Preview屬性的連結分配給該屬性。
使用TfrxPreview元件時有兩個典型的問題。它不處理鍵(箭頭,PgUp,PgDown等)和滑鼠滾輪(如果有)。要TfrxPreview使用鍵,請將焦點傳遞給它(例如,可以在OnShow表單的事件處理程式中完成):
frxPreview.SetFocus;
要TfrxPreview使用滑鼠滾動,必須建立OnMouseWheel表單的事件處理程式並TfrxPreview.MouseWheelScroll在此處理程式中呼叫方法:
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin frxPreview1.MouseWheelScroll(WheelDelta); end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995027/viewspace-2768218/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FastReport VCL程式設計師手冊:互動式報表AST程式設計師
- FastReport VCL在 TfrxReport.OnGetValue 中傳遞變數值AST變數
- 程式設計師裝B手冊程式設計師
- 程式設計師語錄手冊程式設計師
- 報表生成器FastReport .Net程式設計師手冊:WCF服務的簡單例子AST程式設計師單例
- FastReport VCL報表控制元件教程:元件編輯器寫作AST控制元件
- 程式設計師街頭生存手冊程式設計師
- FastReport VCL如何從程式碼訪問報告物件AST物件
- 程式設計師技術進階手冊(一)程式設計師
- Fastreport.Net使用者手冊(十七):HTML標籤ASTHTML
- 程式設計師健康手冊——終極好姿勢指南程式設計師
- 程式設計師必備:技術面試準備手冊程式設計師面試
- 轉職成為TypeScript程式設計師的參考手冊TypeScript程式設計師
- 程式設計師裝逼速成手冊:你們感受一下程式設計師
- sql語句的程式設計手冊(轉)SQL程式設計
- 給設計師和開發者的IOS APP設計參考手冊–資訊圖iOSAPP
- Global.asa程式設計完全參考手冊程式設計
- linux/unix程式設計手冊-16_20Linux程式設計
- 碼工成長手冊:剛畢業的程式設計師如何快速提升自己?程式設計師
- FastReport報表控制元件使用技巧總結AST控制元件
- Shell指令碼程式設計總結及速查手冊指令碼程式設計
- 解放程式設計師雙手之Supervisor程式設計師
- PyQt5 GUI程式設計(元件使用)QTGUI程式設計元件
- 程式設計師請注意:非同步程式設計模式已被人註冊為專利程式設計師非同步設計模式
- 小飛計算器(小飛可程式設計複數計算器)使用者手冊程式設計
- 程式設計師和使用者程式設計師
- 使用者和程式設計師程式設計師
- [填坑手冊]小程式目錄結構和元件化使用心得元件化
- 程式設計師何苦為難程式設計師?程式設計師
- 程式設計師的“非程式設計師”之路程式設計師
- 程式設計師何必難為程式設計師程式設計師
- 程式設計師跳槽到對手公司,被前老闆設計陷害程式設計師
- 程式設計師命令列查詞好幫手程式設計師命令列
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- 程式設計師必看的書-Ruby程式設計師程式設計師
- 國外程式設計師 VS 中國程式設計師程式設計師
- 《程式設計師的春天:EOM與程式設計師》程式設計師
- 中國程式設計師和外國程式設計師程式設計師