datatable.AsEnumerable не работает (базовый пример)
Dim x = From row In f_table.AsEnumerable()
Select row("Crop")
Из того, что я понимаю, "f_table.AsEnumerable" должен сделать мой поисковый объект (в данном случае "row") объектом datarow. Этот простой пример выполняется без каких-либо исключений, но не находит никаких записей (этот поиск работает, если я переключаюсь на массив datarows, которые были взяты из f_table вместо f_table.AsEnumerable).
Любые идеи, почему AsEnumerable не позволяет искать строки таблицы?
Отредактировано / добавлено: Вот что у меня есть, где "emptyrows" - это подмножество массивов строк из f_table.
Dim emptyrows_grouped = From row In emptyrows
Order By row("Date"), row("Time")
Group By New With {.date = row("Date")}.date,
New With {.crop = row("Crop")}.crop
Into Group
То, что я хочу, это эта форма:
Dim emptyrows_grouped = From row In f_table.AsEnumerable
Where row.Field(Of String)("SamplePosition") Like "Emp%"
Order By row("Date"), row("Time")
Group By New With {.date = row("Date")}.date,
New With {.crop = row("Crop")}.crop
Into Group
2 ответа
Это работает так:
Dim query = dt.AsEnumerable
.Where(Function(dr) dr("column name").ToString = "something").ToList
Это дает список DataRows, где этот столбец имеет значение "что-то"
Группа по:
Dim query = dt.AsEnumerable
.Where(Function(dr) dr("column name").ToString = "something")
.GroupBy(Function(dr) dr("column name"))
Не берите в голову - я гигантский дурак сегодня, потому что f_table - неправильный источник данных. Я использовал правильный, и это сработало.
Dim emptyrows_grouped = From row In file_table.AsEnumerable
Where row.Field(Of String)("SamplePosition") ="Empty"
Order By row("Date"), row("Time")
Group By New With {.date = row("Date")}.date,
New With {.crop = row("Crop")}.crop
Into Group
Пожалуйста, извините, что я терял ваше время!!