0

我有数据表,它的第一行是标题我需要根据标题为这个数据表指定特定的列

如果知道它的索引,我知道如何获取该列。问题是如何获取索引

Dim columnIndex as integer
Dim headerRow As DataRow = dt.Rows(0)
Dim colHeader As string ="abc"
columnIndex=???
Dim result = dt.Rows.Cast(Of DataRow)().[Select](Function(row) row(columnIndex)).Distinct().ToList()

谢谢

4

1 回答 1

0

您可以使用 dt.Rows.IndexOf

Dim ValueToSearch AS string = ...
columnIndex = dt.AsEnumerable().Where(Function(x) x.Field(of String)(colHeader) = ValueToSearch).Select(Function(x) dt.Rows.IndexOf(x)).SingleOrDefault()

如果 where 子句仅返回一或零行,则上述方法将起作用。如果这不是真的,那么您可以关闭 SingleOrDefault 然后遍历结果,即:

columnIndex = dt.AsEnumerable().Where(Function(x) x.Field(of String)(colHeader) = ValueToSearch).Select(Function(x) dt.Rows.IndexOf(x))
For Each i in columnIndex
    Console.WriteLine("Value found in row with index " + i.ToString())
Next

扬尼斯

于 2013-07-15T09:47:34.190 回答