如何在快速报告中将图像动态加载到图片框中?

时间:2017-11-02 13:17:01

标签: fastreport

我在Sql中有一个表,其中有2列包含与该标题相关的图像的标题和地址,如下所示: 标题地址

194003      ~/viewerImages/1903-01-1-5-0-6-00143.jpg
194003      ~/viewerImages/1903-01-1-5-0-6-00161.jpg
194003      ~/viewerImages/1903-01-1-5-0-6-00190.jpg
194012      ~/viewerImages/1903-01-1-5-0-6-00143.jpg
194012      ~/viewerImages/1903-01-1-5-0-7-00141.jpg
194012      ~/viewerImages/1903-01-1-5-0-7-00160.jpg
194015      ~/viewerImages/1903-01-1-5-0-7-00180.jpg
194015      ~/viewerImages/1903-01-1-5-0-8-00159.jpg
194015      ~/viewerImages/1903-01-1-5-0-8-00184.jpg

我想在fastreport中为每个标头动态加载这些图像。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

一种解决方案是创建一个带有一些属性的对象,这些属性是要加载的图像(image1,image2,image3)。您还可以在报表中添加要打印的数据的更多属性。 然后,您可以在对象中加载信息,并在将对象发送到报表后,因此快速报表将打印您在对象中加载的信息。通过这种方式你可以做你想要的恐怖分子。 对于图像属性,可以使用Image或byte []类型。

创建报告:

var report = new Report();
report.Load(Constants.Paths.ReportFolder + "Return.frx");

report.RegisterData(myObject, "Name");
report.Design(); // if you want to open the designer before to print
report.Show();

注意:要注册的对象必须是对象的集合。在这种情况下,myObject将是一个List。如果要注册单个对象,可以这样做:

report.RegisterData(new List {myObject})," Name");

在设计器中,您可以访问所有属性。