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