1. ActiveReports for .NET 2 Online | ActiveReports for .NET 3 Online
2.GroupHeader塊
①GroupHeader塊為每個數據組打印一次。數據組是由DataField屬性中指定的字段定義的。一個GroupHeader塊需要一個匹配的GroupFooter塊。
②由於在分組之前,ActiveReports是不會排序的,所以你的數據源需要為在GroupHeader塊中指定的所有數據字段進行排序。例如,對於需要根據國家和城市這兩個字段創建兩個組的報表,你必須用這兩個數據字段的指定順序進行排序。如果你的數據沒有排序,那么相同組的數據就會在報表的不同的位置多次出現。
2-1.DataField屬性
①對數據源進行分組的字段的名字。
②ActiveReports會檢查指定字段的值的任何改變。當值發生改變時就會開始一個新的組。在新組開始前當前組就結束了。指定的字段可以來自數據源,也可以是一個在ActiveReport的DataInitialize 事件中追加到字段集合(Fields collection)中的未綁定的字段。
2-2.CanShrink屬性
①指示GroupHeader塊的高度是否根據它的控件的實際高度和進行調整。True:進行收縮(shrink)以適應它的控件。
2-3.CanGrow屬性
①指示當塊的控件高度超過它的原始高度時,塊的高度是否增長。True:進行擴展(grow)以適應它的控件。False:控件會被裁剪來適應塊的高度。
2-4.RepeatStyle屬性
①指示在明細塊或相關Footer被打印的每個列或頁(every column or page)上是否打印GroupHeader塊。
②RepeatStyle枚舉
②-1 None:當相關的明細塊打印在一個新頁上時,GroupHeader塊不會被重復。
②-2 OnPage:在一張新頁上重復GroupHeader塊
②-3 OnColumn:在一個新列上重復GroupHeader塊(新列的示例不太清楚)
②-4 All:在一張新頁或新列上重復GroupHeader塊
②-5 OnPageIncludeNoDetail:在一張包含了相關明細塊或GroupFooter塊的新頁上重復GroupHeader塊。這個屬性避免GroupFooter塊稱為孤立的。
2-5.NewPage屬性
①決定在一個塊之前和/或之后插入一張新頁。
②NewPage枚舉
②-1 None:塊會一直印刷在同一張頁上,直到用完這頁上的空間。
②-2 Before:在每個塊實例之前,報表跳到(break to)一張新頁。
②-3 After:在每個塊實例之后,報表跳到(break to)一張新頁。
②-4 BeforeAfter:在每個塊實例之前和之后,報表都會跳到(break to)一張新頁。
2-6.GroupKeepTogether屬性
①指示塊和它的Footer以及相關的明細是否作為一個塊在同一頁上打印。
②GroupKeepTogether枚舉
②-1GroupKeepTogether.None:在Groupheader之后,一頁可以被立即分頁(broken)。
②-2GroupKeepTogether.FirstDetail:在同一頁上至少和第一條明細塊一起打印。
②-3GroupKeepTogether.All:GroupHeader塊、明細塊、GroupFooter塊在同一頁上一起打印。
2-7.KeepTogether屬性
①指示塊是否在一頁上打印
②如果這個屬性設成了True,ActiveReports將會努力在當前頁上打印這個塊。如果內容不能放到(fit)當前頁,並且當前頁不是一張新頁,這個塊會被移到下一頁。
如果這個塊不能放到(fit)下一頁,它將被移回到原來的位置,並且內容會被分割到多頁上。
2-8.UnderlayNext屬性
①指示這個塊是否打印在下個塊的下面(beneath) 。(下一個塊會重復打印在這個塊上,會發生重疊)
②下一個塊的背景色需要設為Transparent,否則這個塊就被隱藏了而看不到。
3.Detail塊
①Detail塊是報表中的主要塊。對於數據源中的每條數據,都會打印一次Detail塊。
3-1.ColumnCount屬性
①指示報表中新頁的列的數量
②這個屬性可以用來打印標簽(Labels)或電話薄風格的列表。每列的寬度等於報表的PrintWidth除以列的數量。
3-2.ColumnDirection屬性
①決定在多列報表中如何打印明細塊。(Detail Section)。
②ColumnDirection枚舉 (指示多列報表的列方向)
②-1 DownAcross 在轉移到列的右側列之前,在這個列的下邊打印明細。
②-2 DownAcross 在一個行的下邊開始新的一行之前,在所有列的下邊打印明細行。
3-3.ColumnSpacing屬性
①指示列之前的空白大小。
4.TextBox控件
4-1.DataField屬性
①將來自於數據源的字段名稱綁定到這個控件上。
②數據首先保存到DataValue屬性中,然后通過OutputFormat的處理后,再設到控件的Text中。
③DataField屬性可以使用以等於號開始的腳本表達式來執行計算。比如"=UnitPrice * Qty" 或者 "=CompanyName.Trim()"。 UnitPrice, Qty 和CompanyName成員必須來自報表的字段集合(Fields collection)。
④當使用XML時,DataField必須被設為有效的XPath表達式。
4-2.OutputFormat屬性
①在將Value值放到Text屬性之前,使用mask string來格式化Value。
② formatting mask只能用來格式化數字和日期。不支持格式化數字字母字符串。
③在控件的塊的Format事件中設置OutputFormat將不會抓取到第一條記錄。發生這種行為的原因是數據是在Format事件發生之前就應用到了控件上。如果你在Format 事件中改變了OutputFormat,設置Control.Value=Control.Value,那么OutputFormat被再次應用(reapplied)。
④TextBox控件的OutputFormat屬性包含由分號分割的四塊內容。每個塊包含對不同數字類型的格式定義。
・第一塊提供正數的格式
・第二塊提供負數的格式
・第三塊提供0的格式
・第四塊提供Null和System.DBNull的格式
4-3.WordWrap屬性
①指示一個多行文本框在必要時,自動Wrap單詞到下一行的開頭。(換行)
4-4.SummaryGroup屬性
①在進行小計時,指定group header塊的名字來重置總和。
②比如,為Order group header設置計算Price的總合,將會為每一個Order group重置總和到0。
③這個屬性只有在SummaryType被設置為SummaryType.SubTotal時被使用。
4-5.SummaryFunc屬性
①設置求和函數類型來處理DataField的值。
②只有SummaryType被設置為SubTotal 或 GrandTotal時,SummaryFunc才會起作用。
③當求和函數被使用到控件上時,CanGrow和CanShrink屬性將不會起作用。因為求和是在控件的高度已經被決定及最終確定后計算的。
4-6.SummaryRunning屬性
①決定是否對每一層次的data field總和做計算。
②將屬性設為Group 或 All將會使報表在組和報表層次(group or report level)打印運行的總和。
When used with Groups this property should only be set when SummaryType is GrandTotal or PageTotal, otherwise it should be set to None.
4-7.SummaryType屬性
①-1 Subtotal:組層次(group level),為每組重置
①-2 Grand total:報表層次(report level),所有記錄被處理而不被重置
①-3 Page total:頁層次(page level),為每頁重置
①-4 page count:所有打印的頁數
②如果一個像求和字段被放置在求和層次的頭部(比如,page header上的page total,report header上的grand total),這個包含的塊和下一個塊將不會打印直到總和被計算了。在字段中使用求和函數后,對於這個字段的CanGrow和CanShrink屬性將會失效。