在.rdlc报告中显示来自数据库的图像

时间:2012-04-04 14:34:04

标签: rdlc

我有一个简单的报告,其中显示公司信息。

在我的sql数据库中,我有一个CompanyMaster表,其中有一列公司徽标。在该列中,我只存储公司徽标图像的路径。

现在我想在公司信息报告中显示公司徽标

我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以在rdlc文件中使用Image控件。常见的方法是编写一个返回Image内容的Webservice。因此,您的图片网址将指向网络服务网址。

webserivce类需要继承ImageHandler,如下所示:

<%@ WebHandler Language="C#" Class="ServeImage" %>

using System;
using System.Web;
using System.Drawing.Imaging;
using Microsoft.Web;
using MyControllers;

public class ServeImage : ImageHandler {

    public ServeImage()
    {
    }

    public override ImageInfo GenerateImage(System.Collections.Specialized.NameValueCollection parameters)
    {
        ImageInfo retVal = null;

        if (parameters["ID"] != null)
        {
            MyController myCntl = new MyController();
            // myCntl.GetImageFromDB returns the binary[] content from database
            retVal = new ImageInfo(myCntl.GetImageFromDB(parameters["ID"]));
        }

        return retVal;
    }
}

答案 1 :(得分:2)

好的..我想,我很抱歉让你点击另一页。步骤的时间。

1。)您的样本报告的EnableExternaImages = true。

2。)在报告中插入图像。将图像源设置为外部。

3.)在“使用此图像”中输入表达式。

4。)输入保存在数据库中的图像文件链接的值,例如。这样的表达式是:“file:///”+ First(Fields!Imagelink.Value,“DataSet1”)+“。jpeg”

5.)重要的是,您的Imagelink值必须是该图像的完整路径。

注意在链接之前使用“file:///”。

6。)还有更多问题请回来再问一遍。 : - )

答案 2 :(得分:0)

1-创建文本参数

2-将图像控制添加到报告中

3-将图像设置为外部外部,并将“使用此图像”设置为 参数:[@ParameterName]。

4-最后在加载报告之前在Code中设置参数值。

Setting image source in RDLC report dynamically