• <menu id="w2i4a"></menu>
  • logo FastReport中文文檔

    文檔首頁>>FastReport中文文檔>>報告和引擎對象

    報告和引擎對象


    FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創(chuàng)建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產(chǎn)品保證真正的國際性。

    FastReport.NET官方版下載

    除了報告中包含的對象外,腳本中還定義了兩個變量:報告和引擎。

    報告變量指的是當前的報告。在下面的列表中,列出了報告對象的方法:

    Method Description
    object Calc(string expression) 計算表達式并返回值。首次調(diào)用此方法時,表達式將被編譯,這需要一些時間。
    object GetColumnValue(string complexName) 返回數(shù)據(jù)列的值。列名必須以 "DataSource.Column "形式顯示。如果列的值為空,則默認將其轉(zhuǎn)換為一個值(0、空字符串、false)。
    object GetColumnValueNullable(string complexName) 返回數(shù)據(jù)列的值。與前一個方法相反,它不會轉(zhuǎn)換為默認值,也可能為空。
    Parameter GetParameter(string complexName) 返回具有指定名稱的報告參數(shù)。在引用嵌套參數(shù)時,名稱可以是復合的:"MainParam.NestedParam"。
    object GetParameterValue(string complexName) 返回具有指定名稱的報告參數(shù)的值。
    void SetParameterValue(string complexName, object value) 設置指定名稱的報告參數(shù)值。
    object GetVariableValue(string complexName) 返回系統(tǒng)變量的值,例如 "Date"。
    object GetTotalValue(string name) 按名稱返回 "Data"窗口中定義的總計值。
    DataSourceBase GetDataSource(string alias)

    按名稱返回報表中定義的數(shù)據(jù)源。

    引擎對象是一個控制報告創(chuàng)建的引擎。通過使用引擎的方法和屬性,可以管理在頁面上放置波段的過程。您可以使用引擎對象的以下屬性:

    Property Description
    float CurX 當前 X 軸坐標??梢詾樵搶傩再x值,以便移動打印對象。
    float CurY 當前在 Y 軸上的打印位置??梢詾樵搶傩再x值,以移動打印對象。
    int CurColumn 多欄報表中當前列的編號。第一列的編號為 0
    int CurPage 打印頁面的編號。該值可從系統(tǒng)變量 "Page "中獲取。
    float PageWidth 頁面寬度減去左右頁邊距。
    float PageHeight 頁面高度減去上下頁邊距。
    float PageFooterHeight 頁面頁腳(及其所有子帶)的高度
    float ColumnFooterHeight 欄腳(及其所有子帶)的高度。
    float FreeSpace 頁面可用空間的大小。
    bool FirstPass 如果正在執(zhí)行第一次(或唯一一次)報告?zhèn)鬟f,則返回 true。可通過 Report.DoublePass 屬性獲取傳遞次數(shù)。
    bool FinalPass 如果正在執(zhí)行最后一次(或唯一一次)報告?zhèn)鬟f,則返回 true。
    在下圖中,你可以看到上面列出的一些屬性的含義。

    fastreport

    Engine.PageWidth 和 Engine.PageHeight 屬性決定打印區(qū)域的大小,幾乎總是小于頁面的實際大小。打印區(qū)域的大小由頁邊距決定,頁邊距由 LeftMargin、TopMargin、RightMargin 和 BottomMargin 頁面屬性給出。

    Engine.FreeSpace 屬性決定頁面上可用空間的高度。如果頁面上有 ""Report footer" "帶,則在計算 FreeSpace 時會考慮其高度。請注意,打印頁邊框后,可用空間會減少。

    如何形成準備好的報告頁面?

    FastReport 引擎在頁面上顯示條帶,直到有足夠的空間進行條帶輸出。當沒有可用空間時,將打印 "報告頁腳 "條帶并形成新的空頁。顯示條帶從當前位置開始,當前位置由 X 和 Y 坐標決定。該位置由 Engine.CurX 和 Engine.CurY 屬性重新調(diào)整。打印帶狀圖后,CurY 會自動按打印帶狀圖的高度增加。打印多欄報表時,CurX 的位置會發(fā)生變化。

    Engine.CurX 和 Engine.CurY 屬性不僅可用于讀取,也可用于寫入。這意味著您可以通過使用一個合適的事件來手動移動條帶。使用這些屬性的示例請參見 "示例 "部分。

    在使用返回尺寸或位置的屬性時,請記住這些屬性是以屏幕像素為單位的。

    點擊復制

    引擎對象中定義了以下方法:
    Method Description
    void AddOutline(string text) 在報告大綱中添加元素(請參閱 "交互式報告 "章節(jié)),并將當前位置設置為添加的元素。
    void OutlineRoot() 設置大綱根部的當前位置。
    void OutlineUp() 將當前位置移動到更高層次的大綱元素上。
    void AddBookmark(string name) 添加書簽(請參閱 "交互式報告 "章節(jié))
    int GetBookmarkPage(string name) 返回書簽所在頁碼。
    void StartNewPage() 開始一個新頁面。如果報表是多欄報表,則開始新的一欄。

    通過使用 AddOutline、OutlineRoot 和 OutlineUp 方法,可以手動創(chuàng)建報告大綱。通常,這都是借助 OutlineExpression 屬性自動完成的,每個波段和報表頁面都有 OutlineExpression 屬性。

    AddOutline 方法為當前大綱元素添加一個子元素,并使其成為當前元素。當前的報告頁面和頁面上的當前位置都與新元素相關聯(lián)。如果多次調(diào)用 AddOutline 方法,就會產(chǎn)生如下結構:

    Item1
        Item2
            Item3

    點擊復制


    為了控制當前元素,有 OutlineUp 和 OutlineRoot 方法。第一個方法將指針移到位于更高層的元素上。因此,腳本:

    Engine.AddOutline("Item1");
    Engine.AddOutline("Item2");
    Engine.AddOutline("Item3");
    Engine.OutlineUp();
    Engine.AddOutline("Item4");

    點擊復制

    將創(chuàng)建以下大綱:
    Item1
        Item2
            Item3
            Item4

    點擊復制

    OutlineRoot 方法會將當前元素移動到大綱的根部。例如,下面的腳本:
    Engine.AddOutline("Item1");
    Engine.AddOutline("Item2");
    Engine.AddOutline("Item3");
    Engine.OutlineRoot();
    Engine.AddOutline("Item4");

    點擊復制

    將創(chuàng)建以下大綱:

    Item1
        Item2
            Item3
    Item4

    點擊復制


    在處理書簽時,需要使用引擎對象的 AddBookmark 和 GetBookmarkPage 方法。通常,書簽會在使用書簽屬性時自動添加,報告的所有對象都有該屬性。

    通過使用 Add Bookmark 方法,可以以編程方式添加書簽。該方法會在當前頁面的當前打印位置創(chuàng)建一個書簽。

    GetBookmarkPage 方法會返回書簽所在的頁碼。該方法通常用于創(chuàng)建目錄,以顯示頁碼。在這種情況下,報告必須有雙通道。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();