2013-06-25 5 views
0

Я получаю эту ошибку: Argument 'Expression' cannot be converted to type 'DataGridViewRow'. я понятия не имею, что это значит и как это исправить, это происходит на этой линии:Аргумент «Выражение» не может быть преобразовано в тип «DataGridViewRow»

dt2.Rows(Val(selectedItem))("Position") = dt.Rows(selectedItem.Cells(1).Value)("Mouse Position")

Может кто-нибудь объяснить, что такое ошибка и как ее исправить?

Try 

     If selectedItems Is Nothing Then 
      For n = 0 To dt.Rows.Count - 1 
       dt2.Rows.Add(n) 
       dt2.Rows(n)("Position") = dt.Rows.Item(n)("Mouse Position") 
      Next 

     Else 

      For Each selectedItem As DataGridViewRow In selectedItems 


       dt2.Rows.Add(selectedItem) 
       dt2.Rows(Val(selectedItem))("Position") = dt.Rows(selectedItem.Cells(1).Value)("Mouse Position") 

      Next 
     End If 

    Catch ex As Exception 
     MsgBox("Error", MsgBoxStyle.Exclamation, "Error!") 
    End Try 
+1

Что трассировки стека? – SLaks

+0

Вы имели в виду '.Value' в конце (« Положение мыши »)? –

+4

selectedItem - это DataGridViewRow, не так ли? Что должно возвращать выражение Val (DataGridViewRow)? – Steve

ответ

1

Я должен был рассмотреть ваш предыдущий вопрос, чтобы понять ваш вопрос.
Переменная dt2 - это DataTable с одним столбцом «Позиция», поэтому добавление DataGridViewRow в коллекцию DataRow этого DataTable бессмысленно.

Ваш первый цикл должен быть

For n = 0 To dt.Rows.Count - 1 
    Dim r = dt2.NewRow(); 
    r("Position") = dt.Rows.Item(n)("Mouse Position") 
    dt2.Rows.Add(r) 
Next 

в то время как второй цикл

For Each selectedItem As DataGridViewRow In selectedItems 
    Dim r = dt2.NewRow() 
    r("Position") = dt.Rows(selectedItem.Cells(1).Value.ToString)("Mouse Position") 
    dt2.Rows.Add(r) 
Next 
+0

Теперь в нем говорится, что 'Конверсия из строки в целое недействительна. ' – bbesase

+0

Во втором цикле вы получить значение ячейки (1), и это, вероятно, строка, которая должна быть преобразована в Integer. Проверьте, работает ли обновление. – Steve

+0

С этим обновлением он говорит: «Строка ввода не в правильном формате» – bbesase

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

  • Нет связанных вопросов^_^