我有一个带有列类型图像的数据网格视图。我想从datagrid获取我正在使用的图片框的值。这是我的CellClick
中的代码byte[] image = (byte[])dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value;
MemoryStream ms = new MemoryStream(image);
pb_productImage.Image = Image.FromStream(ms);
我收到了
这个错误Additional information: Unable to cast object of type 'System.Drawing.Bitmap' to type 'System.Byte[]'.
提前谢谢!
答案 0 :(得分:2)
错误消息显示将Bitmap转换为byte []时失败。这意味着单元格值是Bitmap,它派生自Image。在简单类型中,通常可以像这样立即使用它:
pb_productImage.Image = (Image) dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value
但是,由于在这种情况下,您的数据网格可以随时处理图像,因此首先克隆图像是谨慎的,例如:
pb_productImage.Image = (Image)(((Bitmap)dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value).Clone())