報(bào)告和引擎對(duì)象
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)告中包含的對(duì)象外,腳本中還定義了兩個(gè)變量:報(bào)告和引擎。
報(bào)告變量指的是當(dāng)前的報(bào)告。在下面的列表中,列出了報(bào)告對(duì)象的方法:
| Method | Description | 
|---|---|
| object Calc(string expression) | 計(jì)算表達(dá)式并返回值。首次調(diào)用此方法時(shí),表達(dá)式將被編譯,這需要一些時(shí)間。 | 
| object GetColumnValue(string complexName) | 返回?cái)?shù)據(jù)列的值。列名必須以 "DataSource.Column "形式顯示。如果列的值為空,則默認(rèn)將其轉(zhuǎn)換為一個(gè)值(0、空字符串、false)。 | 
| object GetColumnValueNullable(string complexName) | 返回?cái)?shù)據(jù)列的值。與前一個(gè)方法相反,它不會(huì)轉(zhuǎn)換為默認(rèn)值,也可能為空。 | 
| Parameter GetParameter(string complexName) | 返回具有指定名稱的報(bào)告參數(shù)。在引用嵌套參數(shù)時(shí),名稱可以是復(fù)合的:"MainParam.NestedParam"。 | 
| object GetParameterValue(string complexName) | 返回具有指定名稱的報(bào)告參數(shù)的值。 | 
| void SetParameterValue(string complexName, object value) | 設(shè)置指定名稱的報(bào)告參數(shù)值。 | 
| object GetVariableValue(string complexName) | 返回系統(tǒng)變量的值,例如 "Date"。 | 
| object GetTotalValue(string name) | 按名稱返回 "Data"窗口中定義的總計(jì)值。 | 
| DataSourceBase GetDataSource(string alias) | 按名稱返回報(bào)表中定義的數(shù)據(jù)源。 | 
| Property | Description | 
|---|---|
| float CurX | 當(dāng)前 X 軸坐標(biāo)。可以為該屬性賦值,以便移動(dòng)打印對(duì)象。 | 
| float CurY | 當(dāng)前在 Y 軸上的打印位置。可以為該屬性賦值,以移動(dòng)打印對(duì)象。 | 
| int CurColumn | 多欄報(bào)表中當(dāng)前列的編號(hào)。第一列的編號(hào)為 0 | 
| int CurPage | 打印頁面的編號(hào)。該值可從系統(tǒng)變量 "Page "中獲取。 | 
| float PageWidth | 頁面寬度減去左右頁邊距。 | 
| float PageHeight | 頁面高度減去上下頁邊距。 | 
| float PageFooterHeight | 頁面頁腳(及其所有子帶)的高度 | 
| float ColumnFooterHeight | 欄腳(及其所有子帶)的高度。 | 
| float FreeSpace | 頁面可用空間的大小。 | 
| bool FirstPass | 如果正在執(zhí)行第一次(或唯一一次)報(bào)告?zhèn)鬟f,則返回 true。可通過 Report.DoublePass 屬性獲取傳遞次數(shù)。 | 
| bool FinalPass | 如果正在執(zhí)行最后一次(或唯一一次)報(bào)告?zhèn)鬟f,則返回 true。 | 
 
 
Engine.PageWidth 和 Engine.PageHeight 屬性決定打印區(qū)域的大小,幾乎總是小于頁面的實(shí)際大小。打印區(qū)域的大小由頁邊距決定,頁邊距由 LeftMargin、TopMargin、RightMargin 和 BottomMargin 頁面屬性給出。
Engine.FreeSpace 屬性決定頁面上可用空間的高度。如果頁面上有 ""Report footer" "帶,則在計(jì)算 FreeSpace 時(shí)會(huì)考慮其高度。請注意,打印頁邊框后,可用空間會(huì)減少。
如何形成準(zhǔn)備好的報(bào)告頁面?
	FastReport 引擎在頁面上顯示條帶,直到有足夠的空間進(jìn)行條帶輸出。當(dāng)沒有可用空間時(shí),將打印 "報(bào)告頁腳 "條帶并形成新的空頁。顯示條帶從當(dāng)前位置開始,當(dāng)前位置由 X 和 Y 坐標(biāo)決定。該位置由 Engine.CurX 和 Engine.CurY 屬性重新調(diào)整。打印帶狀圖后,CurY 會(huì)自動(dòng)按打印帶狀圖的高度增加。打印多欄報(bào)表時(shí),CurX 的位置會(huì)發(fā)生變化。
 Engine.CurX 和 Engine.CurY 屬性不僅可用于讀取,也可用于寫入。這意味著您可以通過使用一個(gè)合適的事件來手動(dòng)移動(dòng)條帶。使用這些屬性的示例請參見 "示例 "部分。 
在使用返回尺寸或位置的屬性時(shí),請記住這些屬性是以屏幕像素為單位的。
點(diǎn)擊復(fù)制
| Method | Description | 
|---|---|
| void AddOutline(string text) | 在報(bào)告大綱中添加元素(請參閱 "交互式報(bào)告 "章節(jié)),并將當(dāng)前位置設(shè)置為添加的元素。 | 
| void OutlineRoot() | 設(shè)置大綱根部的當(dāng)前位置。 | 
| void OutlineUp() | 將當(dāng)前位置移動(dòng)到更高層次的大綱元素上。 | 
| void AddBookmark(string name) | 添加書簽(請參閱 "交互式報(bào)告 "章節(jié)) | 
| int GetBookmarkPage(string name) | 返回書簽所在頁碼。 | 
| void StartNewPage() | 開始一個(gè)新頁面。如果報(bào)表是多欄報(bào)表,則開始新的一欄。 | 
通過使用 AddOutline、OutlineRoot 和 OutlineUp 方法,可以手動(dòng)創(chuàng)建報(bào)告大綱。通常,這都是借助 OutlineExpression 屬性自動(dòng)完成的,每個(gè)波段和報(bào)表頁面都有 OutlineExpression 屬性。
AddOutline 方法為當(dāng)前大綱元素添加一個(gè)子元素,并使其成為當(dāng)前元素。當(dāng)前的報(bào)告頁面和頁面上的當(dāng)前位置都與新元素相關(guān)聯(lián)。如果多次調(diào)用 AddOutline 方法,就會(huì)產(chǎn)生如下結(jié)構(gòu):
Item1
    Item2
        Item3
	點(diǎn)擊復(fù)制
	
為了控制當(dāng)前元素,有 OutlineUp 和 OutlineRoot 方法。第一個(gè)方法將指針移到位于更高層的元素上。因此,腳本:
Engine.AddOutline("Item1");
Engine.AddOutline("Item2");
Engine.AddOutline("Item3");
Engine.OutlineUp();
Engine.AddOutline("Item4");
	點(diǎn)擊復(fù)制
Item1
    Item2
        Item3
        Item4
	點(diǎn)擊復(fù)制
Engine.AddOutline("Item1");
Engine.AddOutline("Item2");
Engine.AddOutline("Item3");
Engine.OutlineRoot();
Engine.AddOutline("Item4");
	點(diǎn)擊復(fù)制
將創(chuàng)建以下大綱:
Item1
    Item2
        Item3
Item4
	點(diǎn)擊復(fù)制
	
在處理書簽時(shí),需要使用引擎對(duì)象的 AddBookmark 和 GetBookmarkPage 方法。通常,書簽會(huì)在使用書簽屬性時(shí)自動(dòng)添加,報(bào)告的所有對(duì)象都有該屬性。
通過使用 Add Bookmark 方法,可以以編程方式添加書簽。該方法會(huì)在當(dāng)前頁面的當(dāng)前打印位置創(chuàng)建一個(gè)書簽。
GetBookmarkPage 方法會(huì)返回書簽所在的頁碼。該方法通常用于創(chuàng)建目錄,以顯示頁碼。在這種情況下,報(bào)告必須有雙通道。

 QQ交談
QQ交談 在線咨詢
在線咨詢 
                 
                
 渝公網(wǎng)安備
            50010702500608號(hào)
渝公網(wǎng)安備
            50010702500608號(hào)
             
            
 客服熱線
客服熱線