VS2010自带报表控件(RDLC)加载图片相关

        VS2010起,微软不再自带水晶报表,而是提供了RDLC报表,也就是微软自家做的。最近有个项目要用到这个报表加载图片然后打印,于是就研究了下:

如图:在winform项目中添加一个report项:

           

打开后向其中添加一个图像控件:

这个就是我们要向里面添加图像的地方了。

一共有3种方式:

第一种:设置从数据库绑定。如图:

这种方式是需要新建报表参数,然后和数据库表中字段绑定的,根据不同数据库表中对图像类型的处理不同选择不同的MIME类型。实现起来,将表中映射图像字段值赋值给对应的报表参数,代码形式可以参考第三种。

第二种:直接在图像控件中指定图片Url,即静态加载。

在上图中,选择图像来源为“嵌入”,然后选择图片即可。

第三种:动态加载。(同样是加载图片Url,只不过是可以自己动态指定的)

1.新建一个报表参数:属性设置成“文本”。

2.控件Source属性设置为:External(外部)


3.设置Value属性表达式,如图,我们将之前新建的参数的value赋值给本控件的value值。这个value就是图片所在的Url路径。

4.在winform窗体中添加一个report控件,报表选择为我们刚刚新建的那个report1.rdlc。在该控件的load事件中加入如下代码:


  private void reportViewer1_Load(object sender, EventArgs e)
        {
            reportViewer1.LocalReport.EnableExternalImages = true;//启用外部加载图片。默认false
            ReportParameter params1;
            params1 = new ReportParameter("ReportParameter_Image", "file:///D:\\1.jpg");//注意图片路径格式
            reportViewer1.LocalReport.SetParameters(new ReportParameter[] { params1 });//加载参数
            //this.reportViewer1.LocalReport.Refresh();
        }
至此:三种方式简单介绍完毕,如有不妥请各位大神指教。

本文原创,谢绝转载。



展开阅读全文

没有更多推荐了,返回首页