2012-06-18 59 views
0

我有一個包含一個數據表的數據集。現在我想在該表上設置一個過濾器並將結果複製到相同類型的數據集中,以便我有一個只包含過濾結果的新數據集。我怎樣才能做到這一點?獲取C#數據集的一部分,並將其轉換爲另一個數據集

以下代碼是否有效?

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

回答

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()); 

請注意,數據表提供了選擇的方法,但它會拋出一些很奇怪的例外不時,所以我喜歡與行的枚舉列表工作,而不是lambda。

相關問題