Datagridview нажмите событие, отправитель, кажется, ничего
Привет,
В приведенном ниже коде я пытаюсь увидеть, был ли нажат определенный столбец DataGridView, и запустить отчет, если это так.
Private Sub dgv_Report_CellMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgv_Report.CellMouseDoubleClick Dim i As Integer = -1 Dim s As String = String.Empty Try 'Get the drill down report for the column that was double clicked If Not e.ColumnIndex < 0 And Not e.RowIndex < 0 And DrillDownColumns.Count > 0 Then For Each ddc As DrillDownColumn In DrillDownColumns 'Check if one of the trigger columns was clicked s = ddc.TriggerColumn i = CType(sender, DataGridView).Columns(columnName:=s).DisplayIndex If i = e.ColumnIndex Then 'Get the parameters For Each p As SqlParameter In ddc.Parameters p.Value = CType(sender, DataGridView).Columns.Item(p.SourceColumn) Next 'Run the drill down report RunSubReport(DDC:=ddc) End If Next End If Catch ex As Exception EC(ex) End Try End Sub
Линия:
i = CType(sender, DataGridView).Columns(columnName:=s).DisplayIndexбросает
ошибка.Цитата:Ссылка на объект не установлена на экземпляр объекта
Когда я проверяю отладку, у отправителя есть 9 столбцов, включая столбец с именем, с которым я тестирую.
Может ли кто-нибудь объяснить мне это или сказать, чего мне не хватает?
С уважением,
Йохан
Что я уже пробовал:
MsgBox(CType (sender, DataGridView).Столбцы.Рассчитывать.ToString) -- & gt; возвращает число > 0
Я проверил, что имя столбца, которое я ищу, действительно существует.
В противном случае, я думаю, смотрю на себя слепо.
CHill60
Если это действительно строка, вызывающая проблему, то имя столбца должно быть неправильным - не так ли именно так название столбца в DGV-включая любые заглавные буквы, определенно без пробелов?
Johan Hakkesteegt
Дох!
Строка поиска: 2017_2_Sales -- & gt; имя столбца: 2017_02_Sales