Эй, я думаю, что есть гораздо более быстрый способ. Итерации не требуется!
Сначала объявите статическую переменную для поля Friend RowID в DataRow:
Private Shared RowIDFieldInfo As System.Reflection.FieldInfo = GetType(DataRow).GetField("_rowID", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)
Тогда все, что вам нужно сделать, чтобы использовать его:
RowIDFieldInfo.GetValue(MyDataRow) - 1
Я не проверял это после применения или фильтрации.
В моем случае мне это не нужно, так что это работает.