2015-12-25 4 views
-1

Каждый раз, когда я пытаюсь создать datarowview, это System.ArgumentOutOfRangeException. Пожалуйста, помогите мне решить эту проблему.System.ArgumentOutOfRangeException VB.Net

For i As Integer = 0 To UsersBindingSource.Count - 1 
     Dim rowData As DataRowView = UsersBindingSource.Item(i) 
Next 

Bindingsource .item (i) показать ошибку.

+0

какого типа UsersBindingSource? Если это _BindingSource_, вы можете добавить код, который его инициализирует? – Steve

+0

В индексе, который вы даете, ничего не нужно, чтобы изменить счетчик - 1 и tesr, поставив _For i As Integer = 0 To i = * некоторое целое для теста * _ –

+0

Источник привязок не инициализирован вручную. Он связывает таблицу пользователей моей базы данных. 'Me.UsersTableAdapter.Fill (Me.SilexDatabaseDataSet.Users)' – Choxmi

ответ

1

Обычно ошибка появляется при превышении вы диапазоне, как у вас есть только три целых числа в массиве, и вы пытаетесь использовать 4-ый один также, но в вашем случае их нет значения в вас DataSource

UsersBindingSource.Count 

есть значение ноль и вы подаете операции

необходимо проверить количество значений в источнике, вы не заполняя источник данных

операцией

UsersBindingSource.Count-1 

вы также собираетесь отрицательной

разметка, если согласны

+1

И как можно ввести этот цикл, если Count 0? – Steve

+0

нуль индекс он имеет в виду 1 так что 2 итерации –

+0

у него есть проблема с подсчетом, он меняется на ноль, а цикл возвращается к -1, теперь он объявлен статическим, как я упомянул в комментариях выше –

Смежные вопросы