我需要创建一个嵌套列表视图,并找到了一篇关于如何做的好文章,但我的情况有点不同。我是 linq 新手,需要一点帮助:)
我需要将我的数据转换为与该文章类似的格式才能工作(在上面的链接上,搜索“配置 ListView”并查看其正上方的表格)。
这是我的数据:
Format Movie Name Price
DVD Star Wars 12.99
DVD Star Wars II 13.99
Blue-Ray Star Wars 15.99
Blue-Ray Star Wars II 17.99
这是我所拥有的,并不是那么接近,但它是我所能得到的:
var MoviesToBuy = from Movie in dtMovieListDetails.AsEnumerable()
//join MovieDetails in dtMovieListDetails.AsEnumerable() on (string)Movie["ID"] equals (string)MovieDetails["ID"]
group Movie by new
{
Format = Movie["Format"],
Movies = Movie
} into grp
select new
{
Format = (string)grp.Key.Format,
Movies = grp.Key.Movies
};
MoviesToBuy = MoviesToBuy.OrderBy(p => p.Format);
lvwAmazonMovieGroup.DataSource = MoviesToBuy.ToList();
lvwAmazonMovieGroup.DataBind();
我有 3 个具体问题/问题:
1.)我所拥有的不起作用。由于我在组中的第二列等于所有行,因此没有创建实际组。
2.) 尽管之前的问题,我也收到“数据源是无效类型。它必须是 IListSource、IEnumerable 或 IDataSource”错误。在这种情况下,Movies 列被创建为 DataRow 数据类型。不确定这是否是造成问题的原因。我能以某种方式在那个领域施法吗?
3.)我如何对电影中的字段进行排序。即最后我希望数据按格式排序,然后按电影名称排序,因此嵌套列表视图如下所示:
Blue-Ray
Star Wars 12.99
Star Wars II 13.99
DVD
Star Wars 15.99
Star Wars II 17.99
任何点都非常感谢!
在此先感谢,乍得