Member 12699640 Ответов: 1

Vb.net ошибка объектная переменная или с блочной переменной не задана


Я должен изменить порядок сетки Telerik, но это дает мне ошибку в row1 = rdgComponentes.Источник данных.[выбранная строка].Формат ("Sequencia =' {0}'", key1.ToString ())) (0)

Вот код:
Dim upbtn As ImageButton = DirectCast(sender, ImageButton)
Dim item As GridDataItem = DirectCast(upbtn.NamingContainer, GridDataItem)
Dim index As Integer = item.ItemIndex
If index = 0 Then
    Return
End If
Dim movedItem As GridItem = TryCast(TryCast(rdgComponentes.MasterTableView.Controls(0), Table).Rows(index), GridItem)
Dim beforeItem As GridItem = TryCast(TryCast(rdgComponentes.MasterTableView.Controls(0), Table).Rows(index - 1), GridItem)
Dim key1 As Object = rdgComponentes.MasterTableView.DataKeyValues(index)("Sequencia")
Dim row1 As DataRow
row1 = rdgComponentes.DataSource.[Select]([String].Format("Sequencia = '{0}'", key1.ToString()))(0)
MoveDataRowUp(row1)
rdgComponentes.Rebind()


Что я уже пробовал:

я думаю, что проблема в том, что nne объектов на этой линии-ничто.

1 Ответов

Рейтинг:
0

Patrice T

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.