如何通过用户应用程序代码在报表中设置图片

原创|使用教程|编辑:郑恭琳|2020-01-16 11:07:55.300|阅读 29 次

概述:通常,需要根据任何条件或输入参数来设置报表中的各种图像。List & Label报表生成器的用户遇到了此问题,但是无法从.NET代码插入图像。本文就向大家展示如何在FastReport.Net报表生成器中实现这一点。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

通常,需要根据任何条件或输入参数来设置报表中的各种图像。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事件。

 

 

产品介绍 | 下载试用 | 优惠活动 | 在线客服



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
FastReport.Net

一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。

List & Label

一款功能强大的图表报表控件,支持多种开发平台且分发免费

在线
客服
在线
QQ
咨询
电话
177-4994-3557
购物车 反馈 返回
顶部
在线客服系统
live chat