翻譯|行業資訊|編輯:胡濤|2024-03-14 11:10:00.490|閱讀 163 次
概述:本文介紹報表生成器FastReport .Net中關于腳本部分,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport的報表生成器(無論VCL平臺還是.NET平臺),跨平臺的多語言腳本引擎FastScript,桌面OLAP FastCube,如今都被世界各地的開發者所認可,這些名字被等價于“速度”、“可靠”和“品質”,在美國,歐洲和非洲不同國家均設有辦事處。FastReports網站有10種不同語言的介紹,FastReports報表擁有40種語言的本地化的信息。
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
與其他報告生成器不同,FastReport 中的腳本只包含您編寫的內容。在腳本中,您可以
腳本主要用于創建對象的事件處理程序。要創建事件處理程序,請選擇所需的對象。在 "Properties(屬性)"窗口中按下 按鈕,打開事件列表:
選擇需要的事件并雙擊。FastReport 會在報告代碼中添加一個空的事件處理程序:
private void Text2_BeforePrint(object sender, EventArgs e) { }
“Report "對象也有事件。可以通過以下方法選擇該對象:
要刪除事件處理程序,請在 "Properties "窗口中選擇一個事件,選中文本并按下刪除鍵:
為了最大限度地靈活控制報表,每個報表對象都有多個事件。例如,在與 "Data"帶連接的處理程序中,可以過濾記錄,即根據特定條件隱藏或顯示帶。
讓我們考慮一下在報表生成過程中觸發的事件。以一個簡單的報表為例,該報表包含一個頁面、一個 "Data "條帶和條帶上的兩個 "Text "對象:
在報告開始時,"Report "對象會觸發 StartReport 事件。在報告頁面形成之前,StartPage 事件會被觸發。每個模板頁面(不要與準備好的報告頁面混淆!)都會觸發一次該事件。在我們的例子中,無論準備好的報告有多少頁,事件都會被觸發一次,因為模板報告只有一頁。
然后,開始打印 "Data" 帶行。具體過程如下:
因此,通過使用不同對象的事件,可以控制報告形成的每一步。正確使用事件的關鍵在于充分理解上述 11 個步驟中闡述的波段打印過程。
因此,只需使用 "BeforePrint "帶,就可以完成很多操作--對對象所做的任何更改都會顯示出來。但在這種情況下,無法分析如果條帶拉伸,將在哪一頁打印,因為條帶的高度將在第 6 步計算。
這可以借助第 7 步的 AfterLayout 事件或第 10 步的 AfterPrint 來完成,但在后一種情況下,條帶已經打印,對對象的操作不會產生任何結果。
總之,您必須明確說明每個事件在哪個時刻觸發,并使用與給定任務相對應的事件。
在腳本中,您可以使用以下程序集中定義的任何 .Net 對象:
System.dll System.Drawing.dll System.Windows.Forms.dll System.Data.dll System.Xml.dll
除此之外,您還可以使用 FastReport 程序集中定義的任何對象。如果需要訪問其他程序集,請將其添加到程序集列表中。這可以在 "Report|Options...(報告|選項...)"菜單中選擇 "Script(腳本)"選項卡來完成:
fastreport
例如,如果要在報告中使用在應用程序中聲明的函數,請在報告程序集列表中添加應用程序程序集(.exe 或 .dll)。然后就可以使用應用程序的命名空間調用該函數。例如,應用程序中定義了以下函數:
namespace Demo { public static class MyFunctions { public static string Func1() { return"Hello!"; } } }在腳本中調用它的方法如下:
string hello = Demo.MyFunctions.Func1();
string hello = MyFunctions.Func1();
在引用報告對象(例如 "Text "對象)時,請使用對象名稱。下面的示例將返回 Text1 對象的高度:
float height = Text1.Height;請注意,報表的原始測量單位是屏幕像素。在使用此類對象的左、上、寬、高等屬性時,請牢記這一點。要將像素轉換為厘米或更多,請使用 "Units "類中定義的常量:
float heightInPixels = Text1.Height; float heightInCM = heightInPixels / Units.Centimeters; Text1.Height = Units.Centimeters * 5; // 5см
本次關于 FastReport .Net 介紹就講解到這里了,點擊此處查看關于用戶指南的更多內容。如果您想獲取更多產品試用/授權/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術QQ群:585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn