本人使用的是FastReport.net1.0版,不涉及到任何代碼,只是在FastReport中對打印模板的屬性進行調整
1.設置打印順序需要注意的屬性
1)分組頁眉中有個屬性叫“condition”,這個屬性是用來設置打印內容的分組條件,也就是指定按照某一列數據分組,然后打印出來
於此同時,還可以指定這個分組的順序,有個“SortOrder”屬性,里面有“None”,“Ascending”,“Descending”三個值
當SortOrder為Ascending時,FastReport會對分組的數據,以組為單位進行正序排列並打印
當SortOrder為Descending時,FastReport會對分組的數據,以組為單位進行倒序排列並打印
當SortOrder為None時,FastReport不會再對數據進行排序,會按照傳進來的數據列表順序打印出來
一般情況下,如果業務簡單,可以直接設置Condition和SortOrder來完成排序,如果復雜的話,建議還是將SortOrder設為None,然后自己在代碼邏輯里把數據排好序后再傳入FastReport
2.設置打印分頁時需要注意的要點
跟分頁相關的屬性主要有以下幾個“KeepTogether”、“StattNewPage”
有時候設置的頁高度“PageHeight”過矮,也會造成分頁出現問題
3.FastReport中的系統函數使用語法
如第一點中提到的Condition,有時候我們可能需要借助FastReport自帶的函數對數據做一些簡單的處理
使用這些函數的語法舉例如下:
[ET_ITEM.PICK_SORT]+Substring([ET_ITEM.PICK_ORDER],1,19)
其中[ET_ITEM.PICK_SORT]和[ET_ITEM.PICK_ORDER]都是一個普通的數據列,Substring(s,startindex,length)則是FastReport自帶的函數
4.FastReport中數據塊編輯
有時候,我們添加了一個數據塊區域,並在數據塊下添加了多級子數據塊區域,這時,如果想在某一層數據塊區域的尾部擴展一塊區域的話,可能一時找不到添加的位置
實際可在菜單Report——》Configure Bands中,對所選區域進行右鍵,添加一個Footer即可達到目的
5.數據文本多行合並
數據塊有多行數據的時候,有時候我們希望做到相同的數據行自動合並,其實要做到很簡單,只需要設置文本控件的一個行為屬性,如下圖
將Text控件的Duplicates屬性設為Merge就可以了,再打印出來的話就會自動合並相同行,效果如圖: