没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-09-27 11:23:01.757|阅读 21 次
概述:在本文中我们将向您介绍如何在报表控件 FastReport VCL中,制作带有产品成分的价格标签,欢迎查阅~
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
当打印标签、价格标签和其他尺寸有限的格式时,此类报告的设计方法受到限制,这是一个挑战。在这种情况下,文本对象只能增长到一定的大小,并且不可能将文本分割或迁移到另一个页面。我们如何才能在不删除信息的情况下将产品成分和其他数据放在单个标签上?答案很简单——减少内容!
从2023.3版本开始,我们在报表引擎FastReport VCL中添加了另一个强大的工具——通过缩放内容来减少“文本”对象中的文本。
让我们看一个带有产品成分的价格标签的简单示例。这种价格标签是使用标签打印机打印在准备好的纸张上,因此打印文本的数量存在物理限制。但作文可以从 3 个字到几十个字不等。
为了创建这样的报告,我们将使用创建多列报告的功能。您可以在用户手册中找到如何创建此类报告。让我们以创建一个包含两列的简单报告为例,如下图所示。我们不会深入研究如何创建报告,而是将重点放在必要的功能上。
让我们运行该建筑物的报告。
结果,预览显示该表格包含由几十个单词组成的产品,并且它不适合当前字体大小的价格标签。解决这种情况的方法显然是减小字体大小。
让我们返回到报表设计器,选择对象和不适合边框的文本,然后打开对象检查器。
我们需要的功能由ContentScaleOptions属性集控制。
自动缩放— 默认情况下禁用,该属性设置自动文本缩放模式。
casStatic 模式允许缩放文本,直到它适合容器或达到约束的极限(Constraints.MaxStepValue和Constraints.MinStepValue 属性)。
casStatic模式非常适合在带有价格标签的报告中使用,让我们将其打开并运行报告以进行构建。
根据生成的报告,您可以看到文本不仅被缩放,而且还增大了大小。这可以让你装满一个大容器。这对于某些报告可能有用,但在本例中则没有必要。让我们返回到报表设计器并禁用ContentScaleOptions.ScaleType属性的cstGrow标志。让我们运行该建筑物的报告。 、
现在,如果文本不适合对象,FastReport VCL 会打印价格标签并缩小字体大小。我们仅通过切换两个属性就达到了预期的结果。
带标签的示例是最常见的示例之一,但有时需要将带有不断增长的对象的带不间断地放置在页面上。如果在这样的带上有多个带有文本的对象,我们可以牺牲其中一些对象的字体大小并压缩整个容器。让我们使用一个带有随机数据的简单示例来看看它是如何工作的(您可以在此处下载模板)。
在此示例中,每个文本对象输出大段文本,从而拉伸和移动底层对象。使用演示数据运行报告后,报告将类似于屏幕截图。
正如您所看到的,如果有大量文本,则该区域将分为两页(在我们的例子中,对象中有一个中断)。如果我们需要将数据放在一页上怎么办?设置为casStatic 的自动缩放模式不适合这种情况,因为对象具有在报告生成期间计算的动态高度。此外,拉伸的物体会取代下面的物体。对于这种情况,FastReport VCL有另一种对象缩放模式,通过将AutoScale设置为casDynamic属性来启用。
我们将MainText对象的AutoScale属性设置为casDynamic ,看看报表渲染结果。
MainText对象的大小减小,整个区域适合一页。但是,如果您需要跨多个对象按比例压缩文本怎么办?
让我们将BottomText对象的AutoScale属性设置为casDynamic并查看报告构建结果。
结果,两个对象都减小了字体大小,直到带完全适合页面。
FastReport VCL允许您控制对象压缩。每次传递对象的周期都会将对象中的字体减小给定的步长,该步长是在ContentScaleOptions.StepValue属性中为对象设置的。这将一直持续到区域适合页面或达到极限约束(Constraints.MaxStepValue和Constraints.MinStepValue属性)。
此外,每个对象只能在传递对象的给定迭代中进行处理。如果您希望前两次缩减迭代仅处理BottomText对象,只需设置ContentScaleOptions属性即可。对于Constraints.MinIterationValue方法,将值 3 分配给MainText对象(它将跳过前两次迭代)。呈现报告后,它将具有以下外观。
正如您所看到的,在前两次迭代中,我们的报表引擎仅压缩了BottomText对象,因此,其内容的比例较小。从视觉上看,迭代可以表示如下。
这种缩放内容(或文本)的迭代方法允许报告引擎确定要压缩的对象的优先级以及以什么顺序来实现最佳结果。
这种方法会对大量对象的报告生成速度产生负面影响。因此,可以通过设置TfrxReport.EngineOptions.ContentScaleMaxIterations属性(默认为 10)在报表引擎级别限制迭代次数。
FastReport技术QQ群:585577353
了解更多报表开发控件,欢迎咨询在线客服
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
QA是保障软件质量的关键防线,效率至关重要。Parasoft CTP的这一新功能,通过提升自动化测试和剩余手动测试的代码覆盖率,可以与开发节奏保持同步,并获得更快的反馈,这使企业能够充满自信地修复所有漏洞,从而稳步推进项目发展。
Datamine成立于1981年,是矿业技术服务领域的领先企业,专注于为矿山设计、地质勘探和生产管理提供专业的软件解决方案。业务遍及20多个国家,拥有25个办事处。其核心产品 MineScape 具备处理海量矿山数据的能力,支持实时三维渲染与交互,助力客户提升设计与规划效率。
那么,BarTender 支持哪些数据库类型?又是如何助力企业实现数据驱动的智能打印?今天,我们来全面拆解!
企业级软件测试方案Parasoft SOAtest推出的AI助手采用代理式AI,自动生成API测试场景,使不同水准的测试团队都能轻松实现API测试自动化。此次更新后,测试人员可以借助自然语言指令,结合服务定义文件,高效生成API测试场景。除此之外,AI助手还利用AI代理生成测试数据,并针对数据循环对测试场景进行参数化。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号