0

次のコードを使用して、LINQ を使用して datagridview をバインドしましたが、画像フィールドが表示されません。

var query = r.GetTable<Subcategory>().ToList();

List<subcategory> l = new List<subcategory>();
foreach (var s in query)
{
    subcategory s1 = new subcategory();
    s1.sub_id = s.sub_id;
    s1.sub_name = s.sub_name;
    s1.sub_image =s.sub_image;
    s1.sub_catid = s.cat_id;
    l.Add(s1);
}

griditems.AutoGenerateColumns = true;
griditems.DataSource = l;

画像フィールドはバイナリ形式です。表示されていませんが、残りのフィールドは表示されています。

4

1 に答える 1

0

You should use Image data type instead byte[]. You can convert byte[] to Image by this code:

public Image ByteArrayToImage(byte[] imageBytes)
{
     System.IO.MemoryStream ms = new System.IO.MemoryStream(imageBytes);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}
于 2013-05-25T14:51:55.773 に答える