将从LINQ查询返回的列表绑定到Gridview

3

我有一个类似这样的Linq查询:

var Query = from c in table
            where (some condition)
            select new {
            Name = c.Name,
            courses = // this returns a list,
            };

如何将此绑定到GridView,以便结果如下所示:
name1 course1
name1 course2
name1 course3
name2 course1
name2 course2

有什么想法吗?
1个回答

2

请尝试以下操作:

gridview.DataSource = Query.ToList().Select(a => a.courses
             .Select(c => new { Name = a.Name, Course = c }))
             .SelectMany(p=>p).ToList();
gridview.DataBind();

如果您想从方法中返回此列表,则可以创建以下类:
public class MyClass
{
    public string Name { get; set; }
    public string Course { get; set; }
}

现在你可以返回列表,如下所示:
public List<MyClass> MyMethod()
{
    var Query = from c in table
                where (some condition)
                select new {
                Name = c.Name,
                courses = // this returns a list,
                };

    return Query.ToList().Select(a => a.courses
            .Select(c => new MyClass{ Name = a.Name, Course = c }))
            .SelectMany(p=>p).ToList();
}

它不起作用。在那一列中,它显示为System.Collections.Generic.List`1[System.Int64]。 - Aayma Rizvi
还有一件事我想问。这个查询在一个函数内部。这个函数的返回类型应该是什么? - Aayma Rizvi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接