日期:2014-05-20  浏览次数:20873 次

请各位帮忙,水晶报表利用数据集显示图像的问题
推模式作水晶报表时,先做好一个数据集,曲于一些原因,数据集的结构是一个自定义的结构,和数据库中的表没有关系,在打印报表时,定义一个与数据集里的DataTable一样的普通   DataTable对象,并填充相应的数据,现在的问题是图象字段的内容填充进去后,显示不出来,类似代码如下,请各位帮帮忙

private   void   PrintData()
{
          CustomSchema   data   =   new   CustomSchema;
          DataTable   table   =   new   DataTable();
          DataColumnsCollection   columns   =   table.Columns;
          //缩简版的自定义结构
          columns.Add( "F_Name ",typeof(System.String)).AllowDBNull=false;
          columns.Add( "F_Address ",   typeof(System.String)).AllowDBNull=false;
          columns.Add( "F_Picture ",typeof(System.Byte[])).AllowDBNull=true;
          DataRow   row   =   new   table.NewRow();
          row[ "F_Name "]   =   "某某某 ";
          row[ "F_Address "]   =   "XX市XX路 ";
          //以下把图象填入字段
          MemoryStream   ms   =   new   MemoryStream();
          pic.Image.Save(ms,   System.Drawing.Imaging.ImageFormat.Jpeg);
          Byte[]   imageBody   =   ms.ToArray();
          row[ "F_Picture "]   =   imageBody;
          table.Rows.Add(row);
          table.TableName= "Custom ";
          data.Tables.Add(table);
          //CustomReport   是一个报表
          CustomReport   cr   =   new   CuustomReport();
          CustomReprot.SetDataSource(data.Tables[ "Custom "]);
          //FormPrint   是一个预览报表的窗体,通过   ShowReport   传递要显示的报表
          FormPrint   frmPrint   =   new   FormPrint();
          frmPrint.ShowReport(cr);
}

这样的一段代码,报表最后预览时显示的图像是空的,什么也没有,

请问要正确的显示图像要怎么做?


帮顶者酌情给分,谢谢!

------解决方案--------------------
那就结帖吧,我劳累下,一接算了
------解决方案--------------------
接一个~
------解决方案--------------------
我接分!
------解决方案--------------------
帮顶。图表区,人气真少啊。
------解决方案--------------------
我不明白為什么列表中沒有也可以設這個類型,(我是做dataset文件再做報表的)
-----------------------------
问题解决了,原来图片字段在数据集中要设置类型为 System.Byte[],
这个在数据集设计时,字段DataType的属性列表里是找不到的。