Выберите top 1 из DataTable, где порядок столбцов по столбцу в виде строки - PullRequest
0 голосов
/ 29 августа 2018

See the picture of sample results that I need to parse

См. Значения C # Datatable выше. Мне нужно получить значение выделенное , основанное на colA, и dateof, которые я мог бы объяснить с помощью SQL, например:

SELECT TOP 1 colB FROM dt WHERE colA = 'aaa' ORDER BY dateof ASC

Я должен сделать это в C # , а не в SQL.

Как я могу получить это значение?

1 Ответ

0 голосов
/ 29 августа 2018

Пожалуйста, попробуйте следующий код и дайте мне знать, помогает ли он или нет? Пусть 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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...