Asp.net 将LINQ查询返回的列表绑定到Gridview
我有一个类似这样的linq查询Asp.net 将LINQ查询返回的列表绑定到Gridview,asp.net,linq,gridview,Asp.net,Linq,Gridview,我有一个类似这样的linq查询 var Query = from c in table where (some condition) select new { Name = c.Name, courses = // this returns a list, }; name1 course1 name1 course2 name1 course3 name2 course1 n
var Query = from c in table
where (some condition)
select new {
Name = c.Name,
courses = // this returns a list,
};
name1 course1
name1 course2
name1 course3
name2 course1
name2 course2
如何将其绑定到gridview,使结果如下
var Query = from c in table
where (some condition)
select new {
Name = c.Name,
courses = // this returns a list,
};
name1 course1
name1 course2
name1 course3
name2 course1
name2 course2
有什么想法吗?试试下面的方法
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();
}
公共列表MyMethod()
{
var Query=来自表中的c
其中(某些条件)
选择新的{
Name=c.Name,
courses=//返回一个列表,
};
return Query.ToList().Select(a=>a
.Select(c=>newmyclass{Name=a.Name,Course=c}))
.SelectMany(p=>p.ToList();
}
它不工作了。在该列中,它显示System.Collections.Generic.List`1[System.Int64]还有一件事我想问。此查询位于函数内部。函数的返回类型应该是什么?这正是我想要的。谢谢你的帮助!