打印表格
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 方法开始打印表格。