首先 DataGridView的数据源我不是从数据库读取的
我是自定义Table 给的数据库源 private DataTable CreateTab()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("dataID"));
            dt.Columns.Add(new DataColumn("dataName"));
            dt.Columns.Add(new DataColumn("dataState"));
//这是获取需要存放在DataTable中的图片
 FileStream imgStream = new FileStream(Application.StartupPath + "\\img\\ok.png",FileMode.Open, FileAccess.Read);            byte[] imgByte = new byte[imgStream.Length];
            imgStream.Read(imgByte, 0, imgByte.Length);            for (int i = 1; i < 20; i++)
            {
                DataRow drs;
                drs = dt.NewRow();
                drs[0] = i;
                drs[1] = "设备编号:" + i.ToString();                //这要报错 求解决方法
                drs[2] = imgByte;                dt.Rows.Add(drs);            }
            return dt;
        }这个是数据源 
DataGridView 显示图片的那一列我设置成是的 DataGridViewImageColumn属性 若设置成其他的要不会报错,但显示的是类型 //报错的类容是 无法从 System.string 到Systen.Drawing.Image 转换无效。。求达人解决

解决方案 »

  1.   

    dataTable中是不支持图片这种格式的。DataTable中只支持一下集中数据类型
    Boolean Byte Char DateTime Decimal Double Int16 Int32 Int64 SByte Single String TimeSpan UInt16 U Int32 UInt64 ,所以你在这里把图片这种个是赋给制定的cell中,肯定会报错的。
      

  2.   

    但是DataGridView中是可以显示图片的。因此建议你在DataTable中保存图片的路径,然后在经Datatable绑定到DataGridVirew的过程中在根据图片的路径动态的加载图片。