2012-05-30 2 views

ответ

8

Update 2: Up-голосования другой более прямой/ясный ответ :-)


Update: в то время как следующий по-прежнему применяется, там являетсяDataRow.Field обеспечивается класс DataRowExtensions; убедитесь, что на него ссылаются.


Потому что ни один член не называется Field определенной над DataRow типа ... возможно, специальный Item собственность должна была вместо этого?

Обратите внимание, что в примере, где он используется в качестве индексатора (row("Name")). Аккуратно, да?

(Кроме того, что-то должно быть сделано с результате из Replace, как строки являются неизменными в .NET.)

Днем кодирования.

+1

1+ ваш первый пост является правильным, так как OP с использованием .net 2.0 – Damith

14

Добавить ссылку на System.Data.DataSetExtensions.dll, тогда ваш код будет работать. Field - это метод расширения, который необходимо добавить в ссылку, иначе он не будет работать.

VS 2005 с .net 2.0?

, то вы не можете добавить ссылку на эту DLL. вам нужно настроить таргетинг на .net 3.5 или выше, чтобы использовать эти методы расширения.

2

Эта ошибка также возникает, если вы явно не используете DataRow. (оригинальный плакат делает это правильно.)

Используйте это:

For Each rw As DataRow In data.Rows 

Не так:

For Each rw In data.Rows