0

我有一个带有一个数据表的数据集。现在我想在这个表上设置一个过滤器,并将结果复制到相同类型的数据集,这样我就有了一个只有过滤结果的新数据集。我怎样才能做到这一点?

以下代码有效吗?

ds.Tables[<table name>].DefaultView.RowFilter = "ProductId=5";
newDS = ds.copy();
4

1 回答 1

2

您可以执行以下操作:

DataSet filterResult = new DataSet();
filterResult.Merge(inputDataset.Tables[0].AsEnumerable().Where(r => r["Property1"].ToString().Equals("SomeFilter") || r["Property2"].ToString().Equals("Some other filter")).ToArray());

请注意,DataTable 提供了 Select 方法,但它有时会抛出一些非常奇怪的异常,因此我更喜欢使用可枚举的行列表和 lambda。

于 2012-06-18T15:23:54.323 回答