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

通常,需要根据任何条件或输入参数来设置 表中的各种图像。List & Label 表生成器的用户遇到了此问题:

有没有办法以编程方式从.net代码将内嵌图像插入List & Label文档中/em>

但是,用户找不到解决方案:

不幸的是,无法从.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();

在这里,我们在 表模板中找到一个带有图片的对象,并根据需要更改其属性。

Picture1.Image = new Bitmap("C:/Users/Dimon/source/repos/PictureSetting/PictureSetting/App_Data/snow_flake.ico");

您只需要确定要更改图片的事件,例如,可以将Picture对象用于BeforePrint事件。

 

 

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

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论