这应该是一个非常简单的操作,但由于某些原因它没有按预期工作。我试图从DataTable" mainDatatable"中复制所有行。他们的Export Cell =' True'
这是我的代码:
DataTable table = model.getData.Tables["mainDataTable"].Clone();
var rows = model.getData.Tables["mainDatatable"].Select("Export = 'True'");
foreach (var row in rows)
{
table.ImportRow(row);
}
现在,当我运行它时,它总是获取所有行,包含Export =" True",除了DataTable中的第一行之外的所有行...我做错了什么?
答案 0 :(得分:0)
如果您的表数据全部正确,我看不出为什么没有这个原因。请检查: -
你的True
实际上是一个字符串吗?如果是,请再次检查数据。 * space * 可能会在第一行显示“true”。
答案 1 :(得分:0)
我对DataTable并不熟悉,但在Linq中,查询不是使用Select构建的,而是使用Where。
所以我会尝试类似的事情:
var rows = model.getData.Tables["mainDatatable"].AsEnumerable().Where(x=>x.Field<string>("Export").Equals("true"));
或 - 如果是布尔值
var rows = model.getData.Tables["mainDatatable"].AsEnumerable().Where(x=>x.Field<bool>("Export"));