2013-04-28 2 views
0

Я хочу, чтобы получить данные из 1 строки в DataGridView, я выбираю для моего текстового поля это мой код,прибудет строки данных из GridView данных на vb.net 2012

Private Sub DataGridView1_CurrentCellChanged(sender As Object, e As EventArgs) Handles DataGridView1.CurrentCellChanged 

    Dim dColums(0) As DataColumn 
    dColums(0) = dsetmember.Tables("member").Columns(0) 
    dsetmember.Tables("member").PrimaryKey = dColums 

    'MessageBox.Show(DataGridView1.CurrentRow.Index, 1) 
    If DataGridView1.CurrentRow.Index = -1 Then 
     txtNamaMember.Text = "" 
     txtKodeMember.Text = "" 
     txtNoHP.Text = "" 
    Else 
     Dim dr As DataRow = dsetmember.Tables("member").Rows.Find(DataGridView1.Item(DataGridView1.CurrentRow.Index, 0)) 
     txtKodeMember.Text = dr(0) 
    End If 

End Sub 

Я получаю эту ошибку, nullreferenceException was unhandled Object reference not set to an instance of an object.

thx b4.

+0

Не могли бы вы рассказать нам о какой линии это возбуждается исключение? – Steve

+0

все еще не может запускать программу steve, может у меня больше помочь мне – yusli

+0

Используйте отладчик, поместите контрольную точку внутри этой функции, а затем шаг за шагом (см. Меню отладки) сообщите нам, где были удалены исключения – Steve

ответ

0

Попробуйте изменить эту часть ..

If DataGridView1.CurrentRow.Index = -1 Then 
    txtNamaMember.Text = "" 
    txtKodeMember.Text = "" 
    txtNoHP.Text = "" 
Else 
    Dim dr As DataRow = dsetmember.Tables("member").Rows.Find(DataGridView1.Item(DataGridView1.CurrentRow.Index, 0)) 
    txtKodeMember.Text = dr.item(0) 
End If 
0

Ошибка при назначении dr (0) в текстовое поле. Текст.
Это означает, что метод Find не нашел переданное значение, поэтому результат равен NULL. Попытка ссылаться dr(0), когда д-р нет ничего походит не писать НИЧЕГО (0) и, конечно же, это не получится

Dim dr As DataRow = dsetmember.Tables("member").Rows.Find(DataGridView1.Item(DataGridView1.CurrentRow.Index, 0)) 
if dr IsNot Nothing then 
    txtKodeMember.Text = dr(0) 
else 
    MessageBox.Show("Value not found") 
End If 

Также помните, что метод Find поиск значения, переданного на столбец первичного ключа (ов) стол. Вы уверены, что первый столбец сетки содержит первичные ключи?

+0

да это первичный ключ – yusli

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