原創|使用教程|編輯:鄭恭琳|2015-11-20 16:55:56.000|閱讀 2837 次
概述:本篇文章將主要介紹FastReport Online Designer設計器是如何進行數據處理的。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport Online Designer是一個RIA應用程序(富網頁應用程序),允許你從任何擁有先進網頁瀏覽器的任何設備上運行它。
>>立即在線體驗FastReport Online Designer
FastReport Online Designer中不能增加數據源。但是,如果你打開已添加了數據源的報表,它將會顯示在“Data”窗口。你可以將字段從數據源拖動到報表頁面。這樣就會創建一個帶有數據字段的文本對象。
源數據可以包含相關表,用于創建主從報表,主表中的一個記錄可匹配詳細表中一個或多個記錄。上圖顯示了一個與其Categories表連接的Products表。雖然FastReport Online Designer不能創建關系,但允許使用報表中已經存在的關系。
| 變量 | 描述 |
| Date | 報表啟動的日期和時間 |
| Page | 當前報表頁碼 |
| TotalPages | 報表的總頁碼數 |
| PageN | 頁碼形式:"Page N" |
| PageNofM | 頁碼形式:"Page N of M" |
| Row# | 分組中的數據行數 |
| AbsRow# | 數據行的絕對值 |
| Page# | 當前報表頁碼 |
| TotalPages# | 報表中的總頁碼數 |
| HierarchyLevel | 分層報表中的當前層次,頂層等于1 |
| HierarchyRow# | 分層報表中完整的行號,例如“1.2.1” |
FastReport.Net包含大量內置函數(60+)。所有函數都分成幾類,并通過“Data”窗口進行訪問:
在報表中插入函數的方法如下:
3.1.運算類
| 函數 | 參數 | 示例 |
| Abs |
sbyte value short value int value long value float value double value decimal value |
Abs(-2.2) = 2.2 |
| Acos | double d | Acos(0) * 180 / Math.PI = 90 |
| Asin | double d | Asin(0) = 0 |
| Atan | double d | Atan(1) * 180 / Math.PI = 45 |
| Ceiling |
double d decimal d |
Ceiling(1.7) = 2 |
| Cos | double d | Cos(90 * Math.PI / 180) = 0 |
| Exp | double d | Exp(1) = 2.71828 |
| Floor |
double d decimal d |
Floor(1.7) = 1 |
| Log | double d | Log(2.71828) = 1 |
| Maximum |
int val1, int val2 long val1, long val2 float val1,float val2 double val1, double val2 decimal val1, decimal val2 |
Maximum(1,2) = 2 |
| Minimum |
int val1, int val2 long val1, long val2 float val1,float val2 double val1, double val2 decimal val1, decimal val2 |
Minimum(1,2) = 1 |
| Round |
double d decimal d |
Round(1.47) = 1 |
| Sin | double d | Sin(90 * Math.PI / 180) = 1 |
| Sqrt | double d | Sqrt(4) = 2 |
| Tan | double d | Tan(45 * Math.PI / 180) = 1 |
| Truncate |
double d decimal d |
Truncate(1.7) = 1 |
3.2.文本類
注意:
| 函數 | 參數 | 示例 |
| Asc | char c | Asc('A') = 65 |
| Chr | int i | Chr(65) = 'A' |
| Insert | string s, int startIndex, string value | Insert("ABC", 1, "12") = "A12BC" |
| Length | string s | Length("ABC") = 3 |
| LowerCase | string s | LowerCase("ABC") = "abc" |
| PadLeft | string s, int totalWidth | PadLeft("ABC", 5) = " ABC" |
| PadRight | string s, int totalWidth | PadRight("ABC", 5) = "ABC " |
| Remove | string s, int startIndex | Remove("ABCD", 3) = "ABC" |
| Replace | string s, string oldValue, string newValue | Replace("A00", "00", "BC") = "ABC" |
| Substring | string s, int startIndex | Substring("ABCDEF", 1, 3) = "BCD" |
| TitleCase | string s | TitleCase("john smith") = "John Smith" |
| Trim | string s | Trim(" ABC ") = "ABC" |
| UpperCase | string s | UpperCase("abc") = "ABC" |
3.3.日期和時間類
| 函數 | 參數 | 示例 |
| AddDays | DateTime date, double value | AddDays(#7/29/2009#, 1) = #7/30/2009# |
| AddHours | DateTime date, double value | AddHours(#7/29/2009 1:30#, 1) = #7/29/2009 2:30# |
| AddMinutes | DateTime date, double value | AddMinutes(#7/29/2009 1:30#, 1) = #7/29/2009 1:31# |
| AddMonths | DateTime date, int value | AddMonths(#7/29/2009#, 1) = #8/29/2009# |
| AddSeconds | DateTime date, double value | AddSeconds(#7/29/2009 1:30:01#, 1) = #7/29/2009 1:30:02# |
| AddYears | DateTime date, int value | AddYears(#7/29/2009#, 1) = #7/29/2010# |
| DateDiff | DateTime date1, DateTime date2 | DateDiff(#1/2/2009#, #1/1/2009#) = 1.00:00:00 |
| DateSerial | int year, int month, int day | DateSerial(2009, 7, 29) = #7/29/2009# |
| Day | DateTime date | Day(#7/29/2009#) = 29 |
| DayOfWeek | DateTime date | DayOfWeek(#7/29/2009#) = "wednesday" |
| DayOfYear | DateTime date | DayOfYear(#7/29/2009#) = 210 |
| DaysInMonth | int year, int month | DaysInMonth(2009, 7) = 31 |
| Hour | DateTime date | Hour(#7/29/2009 1:30#) = 1 |
| Minute | DateTime date | Minute(#7/29/2009 1:30#) = 30 |
| Month | DateTime date | Month(#7/29/2009#) = 7 |
| MonthName | int month | MonthName(1) = "January" |
| Second | DateTime date | Second(#7/29/2009 1:30:05#) = 5 |
| Year | DateTime date | Year(#7/29/2009#) = 2009 |
3.4.格式類
| 函數 | 參數 | 示例 |
| Format | string format,params object[] args | |
| FormatCurrency | object value, int decimalDigits | FormatCurrency(1.25, 1) = "$1.3" |
| FormatDateTime | DateTime value | FormatDateTime(#1/1/2009 1:30#) = "01/01/2009 1:30:00 AM" |
| FormatNumber | object value | FormatNumber(1234.56) = "1,234.56" |
| FormatPercent | object value | FormatPercent(0.15) = "15.00%" |
3.5.轉換類
| 函數 | 參數 | 示例 |
| ToBoolean | object value |
ToBoolean(1) = true ToBoolean(0) = false |
| ToByte | object value | ToByte("55") = 55 |
| ToChar | object value | ToChar(65) = 'A' |
| ToDateTime | object value | ToDateTime("1/1/2009") = #1/1/2009# |
| ToDecimal | object value | ToDecimal(1) = 1m |
| ToDouble | object value | ToDouble(1) = 1 |
| ToInt32 | object value | ToInt32(1f) = 1 |
| ToRoman | object value | ToRoman(9) = "IX" |
| ToSingle | object value | ToSingle(1m) = 1f |
| ToString | object value | ToString(DateTime.Now) = "08/09/2009 4:45:00 PM" |
| ToWords | object value, string one, string many | ToWords(124, "page", "pages") = "One hundred and twenty-four pages" |
| ToWordsEnGb | ToWordsEnGb | ToWordsEnGb(1, "page", "pages") = "One page" |
| ToWordsRu | object value | ToWordsRu(1024.25) = "Одна тысяча двадцать четыре рубля 25 копеек" |
3.6.流程類
| 函數 | 參數 | 示例 |
| Choose | doubleindex, paramsobject[] choice | Choose(2, "one", "two", "three") = "two" |
| IIf | bool expression, object truePart, object falsePart | IIf(2 > 5, "true", "false") = "false" |
| Switch | params object[] expressions | Switch( a> 0, "а greater than 0", a< 0, "а less than 0", a == 0, "а equals to 0") |
在許多報表中,我們可能需要顯示一些匯總信息:組總數,列表的行數等。 FastReport使用Totals來完成此任務,但你需要指定以下參數:
合計函數的類型;
合計函數列表如下:
| 函數 | 描述 |
| Sum | 計算表達式的總和 |
| Min | 計算表達式中的最小值 |
| Max | 計算表達式中的最大值 |
| Average | 計算表達式中數值的平均值 |
| Count | 返回行數 |
可通過點擊"Data"窗口中帶有加號的綠色圖標添加函數,如下圖:
然后,在屬性頁面設置參數,將Totals拖到報表頁面,點擊紅色圖標即可刪除已添加的Totals。
你可以在報表中定義參數,參數是一個變量,其值既可在報表里面指定又可在外面指定。參數可以在表達式中使用,并顯示在像“Text”之類的報表對象中。
最常見的參數使用方法:
Parameters有以下屬性:
| 屬性 | 描述 |
| Name | 參數的名稱,可以含有除了“.”以外的任何符號 |
| DataType | 參數日期類型 |
| Expression | 返回參數值的表達式 |
| Value | 參數值 |
“Name”和“DataType”屬性必須設置,“Expression”屬性可以為空。在這種情況下,參數的值應通過編寫代碼進行傳入。
可通過點擊"Data"窗口中帶有加號的綠色圖標添加參數,如下圖所示,并在“Properties”窗口中進行設置,然后你就可以將參數拖到報表頁面進行數據過濾了:
點擊紅色圖標即可刪除已添加的Parameter。
如有任何疑問請咨詢""。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn