gpt4 book ai didi

c# - 为什么执行Lambda Expression后无法在DataGrid中显示数据?

转载 作者:行者123 更新时间:2023-11-30 21:19:48 27 4
gpt4 key购买 nike

我有一个数据表。如果我将 DataGrid 的数据源设置为数据表,它会很好地显示所有数据。但是,如果我使用 lambda 表达式过滤掉一些数据,然后重新分配数据源,它不会显示任何内容。这是我试过的...

var AllPeople = 
from r in CompanyDataTable.AsEnumerable()
select new
{
FirstName = r.Field<string>("FirstName"),
LastName = r.Field<string>("LastName"),
Gender = r.Field<string>("Gender"),
Age = r.Field<double>("Age"),
City = r.Field<string>("City"),
State = r.Field<string>("State"),
Cagegory = r.Field<string>("CategoryGroup"),
};

SomeDataGrid.DataSource = AllPeople;

这编译得很好,运行也很好,但数据网格是空的。如果我在执行 lambda 表达式后暂停执行,我可以看到 AllPeople 确实包含一个数据列表,但它不会显示。使用 AsEnumerable 是否会阻止您使用数据网格或其他内容中的数据?我该如何解决这个问题?

最佳答案

在设置数据源时你错过了转换成列表

var AllPeople = 
(from r in CompanyDataTable.AsEnumerable()
select new
{
FirstName = r.Field<string>("FirstName"),
LastName = r.Field<string>("LastName"),
Gender = r.Field<string>("Gender"),
Age = r.Field<double>("Age"),
City = r.Field<string>("City"),
State = r.Field<string>("State"),
Cagegory = r.Field<string>("CategoryGroup"),
}).ToList();

或者

SomeDataGrid.DataSource = AllPeople.ToList();

关于c# - 为什么执行Lambda Expression后无法在DataGrid中显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3648789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com