Индекс DataGridView CurrentRow не был ошибкой на vb.net - PullRequest
0 голосов
/ 24 февраля 2019

В моем DataGridView есть 3 столбца, которые представляют собой Textbox, Textbox и Combobox.Я пытаюсь добавить значения в выпадающий список этой строки.Но я не могу найти текущую строку, потому что она возвращает мне ошибку и говорит, что она пуста.Я не знаю, как с этим справиться.

Public Shared Sub ListSubvarsPA(ByVal mdl As IScrModel, ByVal dgvStd As DataGridView, ByVal dgvDiscr As DataGridView)
    dgvStd.Rows.Clear()
    dgvDiscr.Rows.Clear()
    Dim grpName As String = My.Settings.str_elem__subvar_grpname_pa
    If mdl.findElement(grpName, False) IsNot Nothing Then
        Dim grpList As IScrSubVarGroup = CType(mdl.findElement(grpName, False), IScrSubVarGroup)
        Dim objList As IScrNamedObjectList = grpList.getSubvarList(True)
        For i As Integer = 0 To objList.count - 1
            Dim obj As IScrSubVar = CType(objList.item(i), IScrSubVar)
            Select Case obj.get_discr_str.Length
                Case Is > 1
                    Dim itemindex As Integer = Array.IndexOf(obj.get_discr_str(), obj.str.src)
                    dgvDiscr.Rows.Add(obj.fullName.Substring(grpName.Length + 1), obj.discr_desc(itemindex).src)
                    Dim cbCell As New DataGridViewComboBoxCell
                    cbCell = CType(dgvDiscr.Rows(dgvDiscr.CurrentRow.Index).Cells(2), DataGridViewComboBoxCell)
                    cbCell.Items.Clear()
                    For iIndex = 0 To UBound(obj.get_discr_desc())
                        cbCell.Items.Add(obj.get_discr_desc().GetValue(iIndex))
                    Next
                Case Else
                    dgvStd.Rows.Add(obj.fullName.Substring(grpName.Length + 1), obj.str.src)
            End Select
        Next
    End If
End Sub

Здесь есть проблемный раздел для меня, чтобы добавить значения к существующим значениям DataGridViewCombobox, потому что я не смог найти последнюю строку.

 Dim itemindex As Integer = Array.IndexOf(obj.get_discr_str(), obj.str.src)
                    dgvDiscr.Rows.Add(obj.fullName.Substring(grpName.Length + 1), obj.discr_desc(itemindex).src)
                    Dim cbCell As New DataGridViewComboBoxCell
                    cbCell = CType(**dgvDiscr.Rows(dgvDiscr.CurrentRow.Index**).Cells(2), DataGridViewComboBoxCell)
                    cbCell.Items.Clear()
                    For iIndex = 0 To UBound(obj.get_discr_desc())
                        cbCell.Items.Add(obj.get_discr_desc().GetValue(iIndex))
                    Next

Проблема возникает здесь

Dim cbCell As New DataGridViewComboBoxCell
cbCell = CType(dgvDiscr.Rows(dgvDiscr.CurrentRow.Index).Cells(2), DataGridViewComboBoxCell)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...