我有以下的(容易)表:显示在IEnumerable的查询中的所有空字段
表:MyDataTable
**Color**
Blue
null
Red
Yellow
null
null
Green
此查询(例如):
query =
from user in MyDataTable.AsEnumerable()
where (user.Field<string>("Color") != null ? user.Field<string>("Color").Contains("") : false)
select user;
显示所有不为空的字段。
编辑:对不起,我的问题是在标题。我想要查询只显示空字段。 如何? 关心!
为什么你需要编写一个查询返回数据集中的所有内容?这听起来像是在浪费CPU周期而什么都不做。 – evanmcdonnal
因为这是一个简单的查询,这是一个简单的例子。我的应用有一个更复杂的查询。我的应用程序只显示(默认)10项。空字段在查询中生成异常,并且空字段不显示在DataGridView中。 –
null不会在查询中生成异常。它可能会在您尝试在DataGridView中显示它时。在这种情况下,你需要像'值? “null”''基本上说'if(value == null)value =“null”'你要添加项目的地方。关键是没有查询要写在这里,你只需调用'AsEnumerable()'或'AsEnumerable().ToList()'或'.ToArray()'来转换你的dt。 – evanmcdonnal