this.pictureBox1.Image
this.pictureBox1.Image = dataGridView1.CurrentRow.Cells[9].Value.ToString();如何把上面的 dataGridView1.CurrentRow.Cells[9].Value.ToString();这段转换成Imager的类型啊!
--------------------编程问答-------------------- 坐沙发等高手 --------------------编程问答-------------------- Value是什么类型的才是关键 如果是byte[]
this.pictureBox1.Image = Imgae.FormStream(new MemoryStream((byte[])dataGridView1.CurrentRow.Cells[9].Value));
如果是Image类型
this.pictureBox1.Image = (Imgae)dataGridView1.CurrentRow.Cells[9].Value; --------------------编程问答-------------------- dataGridView1控件里的值不能转换成Image类型的吧,你可以把Image类型的值从数据库里读到DataSet里后,把DataSet里的Image类型值赋给this.pictureBox1.Image
--------------------编程问答--------------------
二种都试了,不行会报错 --------------------编程问答-------------------- dataGridView1.CurrentRow.Cells[9]
显示出来的是什么,是图片还是一个连接啊? --------------------编程问答-------------------- this.pictureBox1.Image = Image.FromStream(new MemoryStream((byte[])dataGridView1.CurrentRow.Cells[10].Value));
我断点调式看到Value的值是:{维数:13} --------------------编程问答-------------------- 2楼的代码绝对可以。
像楼主所说的报错,那说明,楼主的数据不是Image类型或byte[]型的数据。
先在数据库里看看再说,也许定义了Image或byte[]但是数据是null的没有值也会出错。 --------------------编程问答--------------------
我数据库里是 Image 类型,
然后保存图片时转换成byte[]保存进去的 --------------------编程问答-------------------- 不清楚,进来学习学习。 --------------------编程问答-------------------- Value的值是:{维数:13}都存不到一个二进制图片,检查数据是不是有问题? --------------------编程问答-------------------- System.IO.MemoryStream ms = new System.IO.MemoryStream(byte【】);
this.pictureBoxLargePhoto.Image = Image.FromStream(ms); --------------------编程问答-------------------- 你的图片存放肯定出了问题,二楼的方法是可以的 --------------------编程问答-------------------- 不要从DataGridView的Cell中取数据,直接从该DataGridView的数据源中读出当前记录的对应字段数据,再用2楼的方法转换。
补充:.NET技术 , C#