【问题标题】:Adding image collection in a list to DataGridView将列表中的图像集合添加到 DataGridView
【发布时间】:2014-06-28 16:52:54
【问题描述】:

我正在尝试将图像列表中的图像集合添加到 DataGridView 我已经填充了来自 Entity Framework 的数据。

图像集实际上是从我存储在数据库中的“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);
}

【问题讨论】:

    标签: c# winforms list datagridview


    【解决方案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,除非您有特定的理由使用它。

    【讨论】:

    • 我收到此编译器错误“LINQ to Entities 仅支持无参数构造函数和初始化程序。”
    猜你喜欢
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多