0

1 つのデータテーブルを持つデータセットがあります。ここで、このテーブルにフィルターを設定し、結果を同じタイプのデータセットにコピーして、フィルター処理の結果のみを含む新しいデータセットを作成したいと考えています。これどうやってするの?

次のコードは機能しますか?

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 メソッドを提供しますが、時々非常に奇妙な例外をスローすることに注意してください。そのため、代わりに行とラムダの列挙可能なリストを使用することを好みます。

于 2012-06-18T15:23:54.323 に答える