提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-08-21 11:35:53.203|阅读 76 次
概述:本文将介绍报表生成器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@cahobeh.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
用于快速高效地生成报表的附加组件
FastReport CLX FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢