找回密码
 立即注册

QQ登录

只需一步,快速开始

gahyyai

最新发帖
gw0506
超级版主   /  发表于:2011-6-16 11:45:00
21#
你的demo中给的是一个目录,必须是具体文件。

另外,你的斜杠反了。
  1. this.picture1.Image = Image.FromFile(Application.StartupPath + @"\ProductsImages\2010八大金股.jpg");
复制代码
回复 使用道具 举报
gahyyai
论坛元老   /  发表于:2011-6-16 11:48:00
22#
这样肯定不行的,把具体的图片文件写进去,不是所有的商品图片都是一样的图片了,实际情况肯定是一个商品一个图片了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-16 11:54:00
23#
我的意思是,之前找不到文件,就是因为图片路径不对。

必须指定到某一个图片才可以。

至于如何判定哪一个商品对应哪一个文件。你可以把图片文件名存到数据库里,然后根据情况,取到合适的文件名即可。

如果再有找不到文件的异常,你就设置断点,debug一下,看路径是否正确。
回复 使用道具 举报
gahyyai
论坛元老   /  发表于:2011-6-16 11:59:00
24#
pictureBox1.ImageLocation = Application.StartupPath + @"/ProductsImages/" + dgvStockList[15, dgvStockList.CurrentCell.RowIndex].Value.ToString();
首先说明一下,路径肯定是对的,因为在VS里是可以显示图片的.我的图片名是存到数据库里的,我发的demo里面就是这样的,最后想知道如何根据情况取到合适的文件名
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-16 12:14:00
25#
VS里可以显示图片,说明图片肯定存在,这没有问题。

既然报错说图片找不到,那就是Application.StartupPath + @"/ProductsImages/" + dgvStockList[15, dgvStockList.CurrentCell.RowIndex].Value.ToString();执行后的结果有问题。你debug一下,看看这句代码得到的实际路径是什么结果,有没有错误。重点看一下dgvStockList[15, dgvStockList.CurrentCell.RowIndex].Value.ToString()得到的结果是什么。

根据情况,就是你从数据库中取到合适的文件名。也就是产品对应的图片路径。
回复 使用道具 举报
gahyyai
论坛元老   /  发表于:2011-6-16 12:55:00
26#
dgvStockList[15, dgvStockList.CurrentCell.RowIndex].Value.ToString()这是图片名,
Application.StartupPath + @"/ProductsImages/"这是图片存放的相对路径,是不是因为数据库中有的商品它没有图片的原因
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-16 13:23:00
27#

回复 24# gahyyai 的帖子

你好,按照以下操作顺序试一下:
1、清除以下代码

  1.         private void RPT_ReportStart(object sender, EventArgs e)
  2.         {
  3.             this.picture1.Image = Image.FromFile(Application.StartupPath + @"/ProductsImages/");
  4.         }
复制代码
2、将picture1.DataField清空
3、给Detail添加Format事件,同时添加以下代码

  1.         private void detail_Format(object sender, EventArgs e)
  2.         {
  3.             string path = Application.StartupPath + @"\ProductsImages\" + this.Fields["item_pic"].Value;

  4.             if (System.IO.File.Exists(path))
  5.             {
  6.                 this.picture1.Image = Image.FromFile(path);
  7.             }
  8.             else
  9.             {
  10.                 // ... ...
  11.             }
  12.         }
复制代码
4、在if (System.IO.File.Exists(path))处添加一个断点,查看path的值
回复 使用道具 举报
gahyyai
论坛元老   /  发表于:2011-6-16 13:42:00
28#
这样可以了.还想请教一下,用户自定义报表里如何显示图片呢,同样的方法在用户自定义报表里不行
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-16 14:16:00
29#
用户自定义报表最好是将图片直接存到数据库中,这样用户可以直接设置将查询出来数据绑定到picture控件上,picture.DataFiled = "image“
回复 使用道具 举报
gahyyai
论坛元老   /  发表于:2011-6-16 14:24:00
30#
同样存的是图片名,路径也是和上面一样的。生成的.rpx文件中如何绑定图片呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部