這種情況應該一般都是用的xsd做爲報表的數據源,通過以下的步驟解決這個問題:
1、在原有xsd的架構上增加一列imgdata,數據類型爲Base64Binary;
2、生成項目,重新指定報表數據源,將imgdata字段放入報表的相應位置;
3、代碼中,生成數據集時,查詢語句在原來的查詢語句基礎上增加一個空一字段imgdata如:
select ....,cast(null as image) as imgdata from....,
4、處理數據集,
foreach(DataRow row in MyDataSet.Tables.Rows)
{
FileStream fs = new FileStream(row[ "imgpath "],FileMode.Open);
byte[] buff =new byte[fs.Length];
fs.Read(buff, 0, buff.Length);
fs.Close();
row[ "imgdata "] =buff;
}
5、加載報表
CrystalReport1 rpt = new CrystalReport1();
rpt.SetDataBase(MyDataSet);
this.CrystalReportViewer1.ReportSource=rpt;
或者
CrystalReportDocument rpt = new CrystalReportDocument();
rpt.Load( "../CrsytalReport1.rpt ");//這裏的路徑爲報表文件的絕對路徑
rpt.SetDataBase(MyDataSet);
this.CrystalReportViewer1.ReportSource=rpt;
水晶報表顯示圖片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.