打印表格
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
歡迎加入技術交流群:585577353
表格可以兩種模式打印:
在第一種模式下,表格打印在其所屬的帶內,外觀與設計器中的相同。在這種模式下,如果表格的寬度大于報表頁面的寬度,則表格不會跨頁打印。這是默認的打印模式。
第二種模式是動態模式。在這種模式下,表格在腳本的幫助下生成。在此過程中,生成的表格可能不同于初始表格,就像FastReport準備的報表不同于報表模板一樣。在動態模式下,如果表格不適合在報告頁面上顯示,則可以將其分割成不同的頁面。
在動態模式下,表格不會被打印在放置它的帶子上。取而代之的是,表格本身會生成一組帶,其中包含所生成表格的部分內容。這種工作模式有以下限制:
- 切勿在表格下方或附近放置其他物體。取而代之的是使用 "Child "帶;
- 切勿將兩個 "Table "對象放在一個帶中。
讓我們詳細了解一下動態模式。
這種模式與編程有關,需要報表開發人員具備更高的資質
表格的形成是在腳本的幫助下完成的。為了創建腳本,請選擇 "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 | - | 在打印下一列或下一行之前插入分頁符。 |
打印表格可使用以下方法之一:
第一種方法 - 從上到下打印,然后從左到右打印。這種方法更適合行數不固定的表格。您必須按照以下順序調用這些方法:
- PrintRow(行索引);
- 一次或多次調用 PrintColumn(column index) 或 PrintColumns(columns indices) 方法打印指定的列;
- 或調用一次 PrintColumns() 方法打印所有列;
- 重復該序列以打印表格中所有需要的行。
表格的每一行必須包含相同數量的列。在使用 PrintColumn(int index) 和 PrintColumns(int [] indices) 方法時,請記住這一點。
第二種方法 - 從左到右打印,然后從上到下打印。這種方法更適合打印列數不固定的表格。您必須按照以下順序調用這些方法:
- PrintColumn(列索引);
- 一次或多次調用PrintRow(行號)或PrintRows(行索引)來打印指定的行;
- 或者調用一次PrintRows()方法打印所有行;
- 重復上述順序,打印表格中所有需要打印的列。
表格的每一列必須包含相同數量的行。在使用 PrintRow(int index) 和 PrintRows(int [] indices) 方法時,請記住這一點。
違反調用打印方法的順序會導致在執行報表時出錯。其中一個錯誤是試圖使用以下代碼打印表格:
Table1.PrintRows(); Table1.PrintColumns();
這種方法順序是不正確的。您應從 PrintRow 或 PrintColumn 方法開始打印表格。