没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-08-21 11:35:53.203|阅读 127 次
概述:本文将介绍报表生成器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@evget.com
Iron Software 为.NET开发者提供了难得的“即插即用”组件体验,无论是做内部工具,还是开发商业软件,都能大幅提升你的开发效率与产品质量。这款宝藏控件,不妨你也来试试!
TestComplete通过与Git、Jenkins和Zephyr的深度集成,构建了一个完整的持续测试生态系统:从代码变更的智能感知到批量测试的自动化执行,再到测试管理的智能化分析,实现了测试流程的全链路自动化。这种端到端的集成方案不仅显著提升了测试效率和质量,更通过实时反馈和可视化管理,为团队提供了精准的代码质量洞察。
微服务架构带来了灵活性,但也让测试变得复杂:不同协议适配费时费力、服务频繁变更导致测试用例维护困难、依赖环境搭建和稳定更是令人头疼。这些挑战常常成为敏捷交付和质量保障的瓶颈。Parasoft SOAtest正是为应对这些复杂分布式系统测试难题而设计的平台。它通过三大核心能力,帮助团队更从容地驾驭微服务测试:
HOOPS SDK为增材制造软件开发提供了从CAD数据读取、模型处理、可视化到文档生成的完整技术栈。无论是桌面端的工业级打印控制系统,还是基于云的在线制造平台,开发者都可通过HOOPS快速构建稳定可靠、用户体验优良的3D打印软件。
用于快速高效地生成报表的附加组件
FastReport CLX FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号