找回密码
 立即注册

QQ登录

只需一步,快速开始

gahyyai

中级会员

3

主题

29

帖子

918

积分

中级会员

积分
918

活字格认证

最新发帖
gahyyai
中级会员   /  发表于:2011-6-15 16:01  /   查看:21328  /  回复:37
vs2005,用activereport 3.0,在detail显示商品列表时,如何绑定图片字段,注图片字段是路径(路径+名称)格式的

37 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-15 16:35:00
沙发
  1. picture1.Image = System.Drawing.Image.FromFile("路径");
复制代码
回复 使用道具 举报
gahyyai
中级会员   /  发表于:2011-6-15 16:39:00
板凳
很明显这样是不行的,我绑定的是数据库中的图片字段.通过数据源来绑定
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-15 16:46:00
地板

回复 3# gahyyai 的帖子

你数据库中图片字段是路径(路径+名称)格式的,所以不能直接将数据源绑定到 Picture 的DataFiled上,它们的数据类型不匹配。你可以在Detail.Format事件中给 Picture 控件设置Image属性。
回复 使用道具 举报
gahyyai
中级会员   /  发表于:2011-6-15 16:51:00
5#
请问怎么写?我有看过别人是这样直接绑定Picture 的DataFiled的,不知道他内部是如何处理的。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-15 16:57:00
6#
你数据库中存放的图片路径是一个本地路径(比如:D:\\XXX.jpg)还是一个URL形式(http,如果存放的是本地路径,必须保证执行应用程序的电脑和图片存放在同一电脑上。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-15 17:00:00
7#

回复 5# gahyyai 的帖子

如果将图片存放到数据库中就可以直接绑定Picture的DataFiled
回复 使用道具 举报
gahyyai
中级会员   /  发表于:2011-6-15 17:06:00
8#
图片放在本地的,数据库中只存图片名字
回复 使用道具 举报
gahyyai
中级会员   /  发表于:2011-6-15 17:07:00
9#
图片存放在D:\images下面,数据库中存的是 图片名子.jpg
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-15 17:16:00
10#
以下两种方法都可以实现你的需求

  1.             #region 设置 picture1.DataField

  2.             System.Drawing.Image imgfile = System.Drawing.Image.FromFile("D:\images\");
  3.             System.IO.MemoryStream stream = new System.IO.MemoryStream();
  4.             imgfile.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
  5.             picture1.Image = System.Drawing.Image.FromStream(stream);
  6.             byte[] imageBinary = new byte[stream.Length];
  7.             stream.Position = 0;
  8.             stream.Read(imageBinary, 0, (int)stream.Length);

  9.             DataTable dt = new DataTable();
  10.             dt.Columns.Add("Image", typeof(System.Byte[]));
  11.             dt.Columns.Add("OtherCol", typeof(string));

  12.             dt.Rows.Add(new object[] { imageBinary, "111" });

  13.             this.DataSource = dt;
  14.             picture1.DataField = "Image";

  15.             #endregion

  16.             #region 设置 picture1.Image

  17.             picture1.Image = System.Drawing.Image.FromFile("D:\images\");

  18.             #endregion
复制代码
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部