发布网友 发布时间:2022-05-02 08:37
共2个回答
懂视网 时间:2022-05-02 12:58
PROCEDURE [dbo].[usp_File_Select] AS SELECT [Afd_nbr],[Picture],[PictureType],[FileExtension] FROM [dbo].[ApiFileDemo] GO Source Code
在网站中,创建一个实体,是程序从数据库获取数据:
public DataTable GetFiles() { sp.ConnectionString = DB.SqlConnectionString(); sp.Parameters = null; sp.ProcedureName = "usp_File_Select"; return sp.ExecuteDataSet().Tables[0]; }Source Code
为站点添加一个rdlc报表,参考下面步骤:
细节如下:
在报表视图中,添加Table:
为表格选择数据字段:
报表设计完成。现在创建一个ASPX网页来呈现这个RDLC报表:
紧跟下来,是在ASPX.cs写程序:
private void Data_Binding() { this.ReportViewer1.Reset(); this.ReportViewer1.LocalReport.Dispose(); this.ReportViewer1.LocalReport.DataSources.Clear(); Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource(); rds.Name = "FileDataSet"; FileEntity fe = new FileEntity(); rds.Value = fe.GetFiles(); this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Rdlc/ImageRpt.rdlc"); this.ReportViewer1.LocalReport.DataSources.Add(rds); this.ReportViewer1.LocalReport.Refresh(); }Source Code
预览一下看看结果如何:
数据没有显示出来,一直不停在Loading...
看来我们写少了程序,Insus.NET修改一下吧:
哈,哈,显示出来了:
虽然数据显示出来,但是在第二列中,图片没有显示,却显示#Error。还没有成功,还得继续努力:
最后看到想要的结果,图片显示出来了:
RDLC报表显示存储于数据库的图片
标签:预览 turn cdc sed logs file reporting 分享 sel
热心网友 时间:2022-05-02 10:06
最近我也遇到了这个问题,微软网站上的示例也真的少的可怜!这个问题壕了我1天时间,终于找到方法了。其实方法很简单,无法显示图片是因为字段imgLetterHead是因为不能直接从图像控件引用数据库字段。必须改为在表体中添加文本框,然后将文本框设置为包含图像的数据字段(请注意,该值必须为base64编码)。可以在表体中隐藏文本框来避免显示base64编码的图像。然后,可以从页眉或页脚中的图像控件引用隐藏文本框的值。