Dim x = From row In f_table.AsEnumerable()
Select row("Crop")
根据我的理解,“f_table.AsEnumerable”应该使我的搜索对象(在本例中为“row”)成为一个数据行对象。这个简单的例子运行时没有任何例外,但没有找到任何条目(如果我切换到从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
答案 0 :(得分:3)
它的工作原理如下:
Dim query = dt.AsEnumerable
.Where(Function(dr) dr("column name").ToString = "something").ToList
这会生成一个DataRows列表,其中此列的值为"某些内容"
的GroupBy:
Dim query = dt.AsEnumerable
.Where(Function(dr) dr("column name").ToString = "something")
.GroupBy(Function(dr) dr("column name"))
答案 1 :(得分:-1)
没关系 - 我今天是一个巨大的傻瓜,因为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
请原谅我浪费你的时间!!