没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2020-01-16 11:07:55.300|阅读 322 次
概述:通常,需要根据任何条件或输入参数来设置报表中的各种图像。List & Label报表生成器的用户遇到了此问题,但是无法从.NET代码插入图像。本文就向大家展示如何在FastReport.Net报表生成器中实现这一点。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
通常,需要根据任何条件或输入参数来设置报表中的各种图像。List & Label报表生成器的用户遇到了此问题:
有没有办法以编程方式从.net代码将内嵌图像插入List & Label文档中?
但是,用户找不到解决方案:
不幸的是,无法从.NET代码插入图像。仅当在List & Label设计器中使用报表时,才可能这样做。
接下来,我想展示如何在FastReport.Net报表生成器中实现这一点。
在创建报表时,我们直接使用其所有对象——创建它们,将它们添加到报表页面,设置属性。考虑一个简单的示例,该示例根据带有图片的用户应用程序的代码创建报表
//Create instance of class Report
Report report = new Report();
//Add report page
ReportPage page = new ReportPage();
report.Pages.Add(page);
page.CreateUniqueName();
//App data band
DataBand data = new DataBand();
//Add data band to page
page.Bands.Add(data);
data.CreateUniqueName();
data.Height = Units.Centimeters * 1; //Set band height
//Create picture object
PictureObject pic = new PictureObject();
pic.Bounds = new RectangleF(0, 0, Units.Centimeters * 5, Units.Centimeters * 5); //Set object bounds
pic.Image = new Bitmap("../../App_Data/snow_flake.ico"); //Set picture
pic.Parent = data; //Set picture parent object
pic.CreateUniqueName();
report.Prepare(); //Build report
report.Show(); //Show report
这是一个只有一个“data”band的报表的非常简单的示例。由于此报表完全由程序代码创建,因此使用图片创建对象并将其放入报表中没有问题。根据代码的逻辑,根据代码创建报表可以根据需要进行任意更改。
考虑另一种情况。假设您已经在设计器中创建了报表模板。您要根据程序的逻辑更改报表中的图片。在这种情况下,报表模板应该已经有一个Picture对象,您只需从用户应用程序代码中替换图片本身即可。这是程序中的代码:
//Create report object
Report report = new Report();
//Load report template into the report obj
report.Load("../../App_Data/Picture.frx");
//Get picture object from the report template
PictureObject pic = report.FindObject("Picture1") as PictureObject;
//Set object bounds
pic.Bounds = new RectangleF(0, 0, Units.Centimeters * 5, Units.Centimeters * 5);
//Set the image
pic.Image = new Bitmap("../../App_Data/snow_flake.ico");
//Build report
report.Prepare();
//Show report
report.Show();
在这里,我们在报表模板中找到一个带有图片的对象,并根据需要更改其属性。
最后,Picture对象的第三个版本来自内置的报表脚本。报表脚本允许您根据需要更改报表中的模式和数据。您可以将Picture对象预先添加到模板中,也可以将其直接添加到报表脚本中。确实,无限的灵活性。无需使用自定义应用程序来管理报表的内容。对我来说,这是一个很大的好处,因为无需编辑应用程序代码。在报表脚本中设置图像的示例非常简单:
Picture1.Image = new Bitmap("C:/Users/Dimon/source/repos/PictureSetting/PictureSetting/App_Data/snow_flake.ico");
您只需要确定要更改图片的事件,例如,可以将Picture对象用于BeforePrint事件。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




在使用Parasoft C/C++test执行BugDetective数据流分析时,可能会遇到用户自定义的资源API,那在这种情况下,若要判断是否存在资源问题,如资源泄露等,则需要手动配置测试配置。
大型SaaS系统的自动化测试常常受制于界面变化快、结构复杂、加载机制多变等因素。从元素识别到脚本管理,SmartBear TestComplete帮助Salesforce建了可靠的自动化测试体系。
BarTender 标签管理系统,正是帮助企业轻松实现 GS1 标准化标签设计、编码生成与信息联动的强大工具。
Parasoft C/C++test 是一款功能强大的 C/C++ 软件测试工具,集成了静态代码分析、单元测试、集成测试和覆盖率分析等功能,单元测试作为其关键功能之一,为了适配多样化的目标部署环境,C/C++test 设计了灵活的测试结果收集机制。通过Socket通讯方式来收集单元测试结果,从而扩展其测试覆盖范围与应用场景。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营