2014-10-19 4 views
0

мне нужна помощь, я своего рода новым для этой проблемы ..C# System.ArgumentOutOfRangeException: Индекс находился вне диапазона

DataGridViewCell cell = null; 
     foreach (DataGridViewCell selectedCell in dataGridView1.SelectedCells) 
     { 
      cell = selectedCell; 
      break; 
     } 
     if (cell != null) 
     { 

      DataGridViewRow row = cell.OwningRow; 
      idgene.Text = row.Cells[0].Value.ToString(); 
      first.Text = row.Cells[1].Value.ToString(); 
      last.Text = row.Cells[2].Value.ToString(); 
      mid.Text = row.Cells[3].Value.ToString(); 
      address.Text = row.Cells[4].Value.ToString(); 
      yeaar = row.Cells[5].Value.ToString(); 



     } 

Это первый раз, когда я столкнулся с такой проблемой, каждый раз, когда я добавьте combobox.text, это дает мне эту ошибку, System.ArgumentOutOfRangeException: индекс был вне диапазона, должен быть неотрицательным и меньше размера коллекции.

Я также попытался это это, но это не решить мою проблему:

if (cell != null) 
     { 
      string yeaar = ""; 
      syear.Text = yeaar; 
      DataGridViewRow row = cell.OwningRow; 
      idgene.Text = row.Cells[0].Value.ToString(); 
      first.Text = row.Cells[1].Value.ToString(); 
      last.Text = row.Cells[2].Value.ToString(); 
      mid.Text = row.Cells[3].Value.ToString(); 
      address.Text = row.Cells[4].Value.ToString(); 
      yeaar = row.Cells[5].Value.ToString(); 



     } 
+4

Когда вы отлаживаете это, какая строка выдает исключение? Есть хорошая вероятность, что коллекция 'Cells' не содержит 6 элементов, которые, как предполагается, использует код. – David

+0

Сэр @ Давид, о! snap Я забыл, что у моего datagrid есть только 4 ячейки, которые являются «SELECT ID, Firstname, Lastname, Middlename, course FROM studentinfo». Я часами царапал себе голову, пытаясь указать, где проблема, спасибо за ответ –

ответ

0

изменить ваше если заявление

(это использование System.Linq)

если (мобильный! = null & & cell.OwningRow.Cells.Count()> = 6)

, и если у вас недостаточно ячеек, он не будет выполнен, поэтому вы будете e для учета этого

+0

спасибо, сэр, я решил! Мне действительно не хватает ячеек, потому что мой запрос = «SELECT ID, Firstname, Lastname, Middlameame, course FROM studentinfo», ну, я действительно сонный, чтобы увидеть эту ошибку. –

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