ActiveReports:展示数据库中以路径形式存储的图片

图片在报表中扮演着举足轻重的作用,可以使报表更加直观的展示。通常 区域报表 中使用 Picture 控件通过绝对或者相对路径来展示图片。或者,图片可以存储在数据库中,在设置数据源时直接把字段名称设置给Picture控件的DataField属性。设置后数据库中的图片信息将自动展示在 Picture 控件中。

发布于 2014/08/25 00:00

ActiveReports

 

图片在报表中扮演着举足轻重的作用,可以使报表更加直观的展示。通常 区域报表 中使用 Picture 控件通过绝对或者相对路径来展示图片。或者,图片可以存储在数据库中,在设置数据源时直接把字段名称设置给Picture控件的DataField属性。设置后数据库中的图片信息将自动展示在 Picture 控件中。

但是,上述方法不适用于直接存储图片路径(本地路径或者HTTP路径)到数据库形式,本文即将阐述这种形式的图片赋值方法,下面是本文示例展示的效果图:

Images

 

实现方法

正如前文所提,图片路径可以是本地路径或者是HTTP路径。本地路径可以使用Picture控件展示。HTTP路径图片可以使用 RichTextBox 控件展示。但是和直接存储图片到数据库中不同的是,我们无法直接设置控件的 DataField 属性来实现图片的展示。

实现方法如下

我们可以放置textbox控件到报表中,并设置它的Visibility属性为false。该TextBox的DataField属性将设置为图片所在的字段名称。同时,我们可以从TextBox中获取图片的路径,进而展示图片到Picture控件或 RichTextBox 控件中。代码如下:

private void SectionReport1_ReportStart_1(object sender, EventArgs e)
{
   OleDBDataSource _oleConn = new OleDBDataSource();
   _oleConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\ImagePath.mdb;Persist Security Info=False";
   _oleConn.SQL = "Select * from ImageTable";
   this.DataSource = _oleConn;
}
  
private void Detail_Format(object sender, EventArgs e)
{
   //Local Images
   string localPath = txtLocalPath1.Text.Replace("#", "");
   Picture1.Image = System.Drawing.Image.FromFile(localPath);
   //HTTP Images
   string linkURL = txtHttpPath1.Text.Replace("#", "");
   RichTextBox1.Html = "<img src='" + linkURL + "'></img>";
}

 

示例代码:VS2010 + .NET 4.0 + AR8.0 SP1 + C#

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态