我需要从datatable中删除该行,即使datatable中的任何列都有空值。
例如:
我的数据表有两列
Value Input
Dep Phase 1
Sec
Div Phase 2
测试结果
Value Input
Dep Phase 1
Div Phase 2
我想删除第二行,因为输入列有空值。我被下面的代码卡住了。
dtTable = dtTable.Rows.Cast<DataRow>()
.Where(row => !row.ItemArray.All(field => field is DBNull || string.IsNullOrWhiteSpace(field as string))).
.CopyToDataTable();
谁能告诉我如何才能做到这一点?
4条答案
按热度按时间iih3973s1#
根据您提到的要求,您需要使用
Any
,它将检查是否至少有一列具有null
值或空字符串,它将过滤掉该行。因此,执行如下操作:编辑:
如果您的所有列都是
string
类型,则上面的代码可以正常工作,否则您需要通过调用ToString()
将其显式转换为字符串:这将只返回那些每列都有值的行。
tpgth1q72#
可以使用If for循环。我们可以检查每一行和每一列的空值
s5a0g9ez3#
试试这个:
amrnrhlw4#
它删除数据表中空行