2016-07-04 61 views
0
DataTable dt = db.Execute("select statement..."); 

我有这个数据表,其中包含一些状态列和日期列的数据。从DataRow获取DataRow的最大日期时间值[]

从数据I过滤得到的只有具有特定状态的行

DataRow[] potentialRows = dt.Select("status = 1"); 

现在,这里是我的问题:

从该的DataRow []潜在的行我想进一步将其过滤到只获得一个包含距离最近的日期的DataRow

(例如:如果我有两行:一个日期为昨天,一个日期为一周前,我想要DataRow的日期为昨天)

我试过如下:

DataRow dr = potentialRows.Max(x => x["date"]) as DataRow; 

但是这似乎并没有工作,所以我必须失去了一些东西。

感谢您的任何评论或解决方案。

+0

加我自己的答案/解决方案 –

回答

1

这解决了我的问题:

dr = potentialRows.OfType<DataRow>().OrderBy(r => r["date"]).LastOrDefault<DataRow>(); 

通过订购日期字段的阵列,抓住其持有的最新日期的最后一个元素。

+0

好的没问题。那么你会如何建议我编辑我的答案呢?我应该写什么? –