Crystal Report:显示数据库失败的图像

时间:2016-02-16 06:43:27

标签: c# asp.net crystal-reports

我一直在尝试在水晶报告中显示图像。我能够从数据库中获取路径。我把路径放在水晶报告中。而不是显示图像,它显示路径。

for (int rowNumber = 0; rowNumber < dataTable.Rows.Count; rowNumber++)
{
    string imgName = HttpContext.Current.Server.MapPath(dataTable.Rows[rowNumber]["logopath"].ToString());
    DisplayImages(dataTable.Rows[rowNumber], "logopath", imgName);
}


private void DisplayImages(DataRow row, string img, string ImagePath)
{
    FileStream stream = new FileStream(ImagePath, FileMode.Open, FileAccess.Read);
    byte[] ImgData = new byte[stream.Length];

    stream.Read(ImgData, 0, Convert.ToInt32(stream.Length));
    stream.Close();

    row[img] = ImgData;
}

enter image description here

你可以告诉我我错过了什么。

1 个答案:

答案 0 :(得分:0)

我建议创建一个PictureObject,将图片放在上面,然后将其添加到报告中,看看下面的代码:

    private void PictureData_Click(object sender, EventArgs e)
    {
        CrystalDecisions.ReportAppServer.ReportDefModel.PictureObject boPictureObject;
        CrystalDecisions.ReportAppServer.ReportDefModel.Section boSection;

        rpt.Load("D:\\CPP Net\\RASXIR2Printer\\oleobject.rpt");
        rptClientDoc = rpt.ReportClientDocument;

        String MyfilePath = "C:\\temp\\sample1.jpg";

        //Determine which section to add the picture field to - in this case the report header section
        boSection = rptClientDoc.ReportDefController.ReportDefinition.ReportHeaderArea.Sections[0];

        //Add it to the report
        boPictureObject = rptClientDoc.ReportDefController.ReportObjectController.ImportPicture(MyfilePath, boSection, 1, 1);

    }

http://scn.sap.com/thread/2051483