翻譯|行業資訊|編輯:胡濤|2023-08-21 11:35:53.203|閱讀 162 次
概述:本文將介紹報表生成器FastReport .Net中表格式報告部分,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
您可以通過右鍵菜單添加或刪除列。
列的右鍵菜單也可以在 "Report Tree"窗口中調用。打開該窗口,選擇需要的列并單擊鼠標右鍵。
您可以使用以下方法之一設置列的寬度:
您也可以啟用 "AutoSize "列屬性。在運行報表時,將自動計算列的寬度。為了限制列的寬度,您可以指定 "MinWidth "和 "MaxWidth "屬性。
列寬不應大于頁面寬度。
如果您需要選擇相鄰的幾行,則左擊鼠標,然后在不離開鼠標的情況下,向右或向左移動鼠標,以選擇相鄰的行。
您可以使用以下方法之一設置行的高度:
左擊并移動鼠標,以改變行的大小。
您還可以啟用行的 "AutoSize "屬性。運行報表時,將自動計算行的高度。為了限制行的高度,可以使用最小高度("MinHeight")和最大高度("MaxHeight")屬性:行的高度不應大于頁面高度。
單元格是文本對象。從本質上講,單元格類繼承自 "Text "對象。上面提到的關于 "Text "對象的所有內容同樣適用于表格的單元格。
編輯單元格的文本就像編輯 "Text "對象一樣。此外,您還可以將 "Data "窗口中的元素拖放到單元格中。
單元格的邊框和填充可以通過 "Border and Fill "工具欄進行配置。
要調用單元格的右鍵菜單,只需右擊該單元格即可。
要分割單元格,請調用其上下文菜單并選擇 "Split cell"項。
您可以在單元格中插入其他對象,例如圖片。以下對象不能添加到單元格中:
要在單元格中添加對象,只需將其拖入單元格即可。您可以在單元格之間自由移動對象,也可以將其帶回表格邊界之外。
單元格是放置對象的容器。這意味著,您可以使用單元格內對象的 "Dock "和 "Anchor "屬性。當單元格的大小發生變化時,可以改變對象的大小。
表格可以兩種模式打印:
在第一種模式下,表格打印在其所屬的帶內,外觀與設計器中的相同。在這種模式下,如果表格的寬度大于報表頁面的寬度,則表格不會跨頁打印。這是默認的打印模式。
第二種模式是動態模式。在這種模式下,表格在腳本的幫助下生成。在此過程中,生成的表格可能不同于初始表格,就像FastReport準備的報表不同于報表模板一樣。在動態模式下,如果表格不適合在報告頁面上顯示,則可以將其分割成不同的頁面。
在動態模式下,表格不會被打印在放置它的帶子上。取而代之的是,表格本身會生成一組帶,其中包含所生成表格的部分內容。這種工作模式有以下限制:
讓我們詳細了解一下動態模式。
這種模式與編程有關,需要報表開發人員具備更高表格的形成是在腳本的幫助下完成的。為了創建腳本,請選擇 "Table "對象,在 "Properties "窗口中單擊 "Events"按鈕并雙擊 ManualBuild 事件:
一個空的事件處理程序就會被添加到報告代碼中:
在這種模式下,源表被用作模板。在事件代碼中,您可以根據需要多次打印源表中的行和列。在此過程中,將形成結果表,其中可包含無限數量的行和列。如果在報告頁面中無法容納,則可以將表格分割成不同的頁面。
打印表格時,將使用 "Table "對象的以下方法:
Method | Parameters | Description |
---|---|---|
PrintRow | int index | 打印指定索引的行。行號從0開始。 |
PrintColumn | int index | 打印指定索引的列。列編號從0開始。 |
PrintRows | int[] indices |
打印表格的若干行。 |
PrintRows | - | 打印表格的所有行。 |
PrintColumns | int[] indices |
打印表格的若干列。 |
PrintColumns | - |
打印表格的所有列。 |
PageBreak | - | 在打印下一列或下一行之前插入分頁符。 |
打印表格可使用以下方法之一:
第一種方法 - 從上到下打印,然后從左到右打印。這種方法更適合行數不固定的表格。您必須按照以下順序調用這些方法:
表格的每一行必須包含相同數量的列。在使用 PrintColumn(int index) 和 PrintColumns(int [] indices) 方法時,請記住這一點。
第二種方法 - 從左到右打印,然后從上到下打印。這種方法更適合打印列數不固定的表格。您必須按照以下順序調用這些方法:
表格的每一列必須包含相同數量的行。在使用 PrintRow(int index) 和 PrintRows(int [] indices) 方法時,請記住這一點。違反調用打印方法的順序會導致在執行報表時出錯。其中一個錯誤是試圖使用以下代碼打印表格:
Table1.PrintRows(); Table1.PrintColumns()這種方法順序是不正確的。您應從 PrintRow 或 PrintColumn 方法開始打印表格。
這里我們討論的是包含跨單元格的表頭。當打印包含跨單元格的表格的行或列時,單元格的尺寸會自動增大。我們將在下一個示例中進行演示:
private void Table1_ManualBuild(object sender, EventArgs e) { // printing row 1 and columns 0, 0, 0, 1 Table1.PrintRow(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); // printing row 1 and columns 0, 0, 0, 1 Table1.PrintRow(1); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); }
我們將創建一個ManualBuild事件處理程序,它將打印第一列3次,第二列1次:
我們在每一行中打印了相同數量的列。如果違反這一規則,我們將得到意料之外的結果。
執行該代碼的結果如下:
/>
如圖所示,標題單元格被自動跨過。我們將使代碼更復雜一些,以便打印兩組列:
private void Table1_ManualBuild(object sender, EventArgs e) { // print 0 row and two groups of 0, 0, 0, 1 columns Table1.PrintRow(0); // group 1 Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); // group 2 Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); // print 1 row and two groups of 0, 0, 0, 1 columns Table1.PrintRow(1); // group 1 Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); // group 2 Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(0); Table1.PrintColumn(1); }
當我們運行報告時,我們將看到以下結果:
當使用以下代碼打印第二列時:
Table1.PrintColumn(1);
頁眉結束,繼續打印第一列開始新的頁眉:
// group 2 Table1.PrintColumn(0);
在 "Table"對象的動態模式下,支持以下全部功能:
Function | Parameters | Description |
---|---|---|
Sum | TableCell cell | 返回單元格中包含的數值之和。 |
Min | TableCell cell | 返回單元格中數值的最小值。 |
Max | TableCell cell | 返回單元格中數值的最大值。 |
Avg | TableCell cell | 返回單元格中數值的平均值。 |
Count | TableCell cell |
返回包含指定單元格的行數。 |
在普通打印模式下(非動態),這些功能無效。
要使用合計函數,請將其置于表格的單元格中。如以下函數計算名為 "Cell1 "的單元格中包含的值之和:
[Sum(Cell1)]
在此過程中,我們將分析位于當前單元格(我們正在其中計算總和)上方和左側的所有單元格。
動態生成的表格可在頁面間自動分割。這種行為由表格的 "Layout "屬性控制。您可以選擇以下值之一:
Value | Description |
---|---|
AcrossThenDown | 表格先橫后豎 |
DownThenAcross |
表格先下后上。 |
Wrapped |
寬表格被包裹并在同一頁面渲染。 |
本次關于 FastReport .Net 介紹就講解到這里了,點擊此處查看關于用戶指南的更多內容。如果您想獲取更多產品試用/授權/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術QQ群:585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn