请参见上方的 C#数据表的值。我需要基于colA和dateof获取突出显示的值,可以用SQL进行解释,如下所示:
SELECT TOP 1 colB FROM dt WHERE colA = 'aaa' ORDER BY dateof ASC
我必须在 C#中执行此操作,而不是在SQL中执行。
如何获得该价值?
答案 0 :(得分:1)
能否请您尝试以下代码,并让我知道它是否有帮助?
假设myDataTable
为您要处理的DataTable,并假定字段的类型为string
(根据需要进行适当更改)
myDataTable.AsEnumerable()
.Where(x => x.Field<string>("colA") == "aaa")
.OrderBy(y => y.Field<string>("dateof"))
.Take(1)
.Select(s => s.Field<string>("colB"))
否则这可能会帮助您:
var defaultSelectedRow = myDataTable.AsEnumerable()
.Where(x => x.Field<string>("colA") == "aaa")
.OrderBy(y => y.Field<string>("dateof")).FirstOrDefault();
if (defaultSelectedRow != null)
{
string colBValue = defaultSelectedRow.Field<string>("colB");
}