我正在尝试将图像集添加到DataGridView
我已填充了实体框架数据的图像列表中。
图像集实际上是根据我存储在数据库中的“image.jpg”名称生成的,我想知道如何将我的图像列表集合与DataGridView
中的其他数据一起添加。
以下是代码:
quinEntities context1 = new quinEntities();
BindingSource bi = new BindingSource();
var query = from x in context1.studentinfoes
join y in context1.classinfoes
on x.classid equals y.classid
select new { y.classname, x.surname, x.religion };
bi.DataSource = query.ToList();
dataGridView1.DataSource = bi;
List<Image> mee = new List<Image>();
var passports = context1.studentinfoes.Select(u => u.passport);
foreach (var passport in passports)
{
Image okk = new Bitmap(passport);
mee.Add(okk);
}
DataGridViewImageColumn img = new DataGridViewImageColumn();
foreach (var me in mee)
{
img.Image = me;
dataGridView1.Columns.Add(img);
}
答案 0 :(得分:1)
你应该能够一次完成所有这一切。
内部查询从EF获取数据,第一次调用ToList()
执行EF查询。
外部查询然后遍历第一个结果集,创建一个新的Bitmap
并将其添加到第二个匿名类型:
quinEntities context1 = new quinEntities();
var query = (from x in
(from s in context1.studentinfoes
join c in context1.classinfoes
on s.classid equals c.classid
select new
{
c.classname,
s.surname,
s.religion,
s.passport
}).ToList()
select new
{
x.classname,
x.surname,
x.religion,
passport = new Bitmap(x.passport)
});
dataGridView1.DataSource = query.ToList();
除非您有特定的理由使用它,否则您也不需要BindingSource
。