水晶报表动态加载图片,无法显示

hgyin212314 2010-07-16 10:49:33
dataset里有张myLogo表:pic1,pic2字段,在crystalReport2.rpt的详细资料里托了这两个字段,但还是无法显示图片,请指点
代码如下:
ReportDocument myReport = new ReportDocument();
private void Crystal_Load(object sender, EventArgs e)
{

DataSet1 ds1 = new DataSet1();
FileStream fs = new FileStream(@"D:\Images\1.jpg", FileMode.Open, FileAccess.Read);
BinaryReader br1 = new BinaryReader(fs);
byte[] byte1 = br1.ReadBytes((int)fs.Length);

FileStream fs1 = new FileStream(@"D:\Images\22.bmp", FileMode.Open, FileAccess.Read);
BinaryReader br2 = new BinaryReader(fs1);
byte[] byte2 = br2.ReadBytes((int)fs1.Length);

fs.Close();
fs1.Close();
ds1.myLogo.AddmyLogoRow(byte1, byte2);
//string reportPath = Application.StartupPath + "\\CrystalReport2.rpt";
//myReport.Load(reportPath);
//CrystalReport2 crt2 = new CrystalReport2();
//myReport.SetDataSource(ds1);
CrystalReport2 crt2 = new CrystalReport2();
crt2.SetDataSource(ds1);
crystalReportViewer1.ReportSource = crt2;
//crystalReportViewer1.Refresh();

}
麻烦帮我改改或是指出怎么改
...全文
263 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgyin212314 2010-07-16
  • 打赏
  • 举报
回复
我这里没有用数据库,只是用dataset设置成数据源,这应该可以吧
JoinAspNet 2010-07-16
  • 打赏
  • 举报
回复
你数据库是SQL还是Oracl,数据库的字段类型你首先要创建对喽,Sql数据库字段类型选择“image,Oracl数据库选择:blob或者clob。然后你在数据库表中查看你添加的图片是否成功,如果数据库中有图片,在水晶报表中字节拖拽字段肯定也能显示图片。
hgyin212314 2010-07-16
  • 打赏
  • 举报
回复
恩 后来我重新改了中方法,是下载你的一个DEMO,貌似是C++写的,然把那个代码改成C#的代码,现在可以显示图片了
谢谢 阿泰哥
阿泰 2010-07-16
  • 打赏
  • 举报
回复
代码没错,除了不应该放在Crystal_Load
其余的代码你就直接拿了我的代码用的啊,我刚才把我的例子重新跑了一下,正常运行的。


pic1和pic2是用的是system.byte[]吗
hgyin212314 2010-07-16
  • 打赏
  • 举报
回复
阿泰 水晶报表上还是一片空的 前面的思路是对的不??
阿泰 2010-07-16
  • 打赏
  • 举报
回复
private void Crystal_Load(object sender, EventArgs e)
==>
private void Form_Load(object sender, EventArgs e)

或者放置其他事件,如按钮事件等。

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧