2011-01-28 107 views
0

如何使用Linq對DataTable進行排序?我嘗試了以下,但收到錯誤: InvalidCastException被用戶代碼解開。指定的轉換不被允許。Linq按日期時間字段對數據表進行排序

var query = from c in allFiles.AsEnumerable() orderby c.Field<DateTime>(1) 
descending select c; 

回答

1

該表是動態生成的,沒有實際指定的列數據類型。當我創建列並指定dataType時,問題已解決。

我不知道爲什麼我沒有意識到數據類型沒有定義,直到我發佈這個問題後。

1

這將表明,至少某些行,場1不是一個DateTime。如果可能爲空,則可能需要嘗試DateTime?。或者檢查它是否真的是這個領域的第一個地方......也許使用一個名稱而不是數字?

相關問題