我想在DataTable上執行LINQ查詢並在另一個DataTable中顯示結果。我的源數據表看起來是這樣的:LINQ查詢到DataTable.DataSource
DataTable myDataTable = new DataTable();
myDataTable.Columns.Add("OrderID", typeof(int));
myDataTable.Columns.Add("Date", typeof(DateTime));
myDataTable.Columns.Add("UnitsPurchased", typeof(int));
結果DataTable看起來像這樣充滿時:
Order ID Date Units Purchased 16548 10/15/09 250 17984 11/03/09 512 20349 01/11/10 213 34872 01/15/10 175
我現在的LINQ查詢看起來是這樣的:
IEnumerable<DataRow> query = (from row in myDataTable.AsEnumerable()
where row.UnitsPurchased > 200
select new
{
row.OrderID,
row.Date,
row.UnitsPurchased
}) as IEnumerable<DataRow>;
resultDataTable.DataSource = query.CopyToDataTable<DataRow>();
我每次運行此代碼查詢爲空。我可以看到as IEnumerable<DataRow>
是罪魁禍首,但是由於DataTable.AsEnumerable()
返回IEnumerable<DataRow>
,所以對我沒有幫助。任何幫助,將不勝感激。
-1 - 這不是 「簡單」;這是一個**可怕的** kludge!你怎麼能把這種黑客推向一個毫無戒心的程序員? – 2010-09-22 08:41:48