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