Отображение ValueMember DataGridViewComboBoxCell на событие изменения Combobox VB.NET - PullRequest
1 голос
/ 19 марта 2012

Я использую этот код:

Dim cListItems As New System.Collections.Generic.List(Of Combobox_values)

        cListItems.Add(New Combobox_values("One", "1"))
        cListItems.Add(New Combobox_values("Two", "2"))

        Dim dgvcbc As DataGridViewComboBoxCell = DirectCast(DataGridView1.Rows(0).Cells(0), DataGridViewComboBoxCell)
        dgvcbc.DataSource = cListItems
        dgvcbc.DisplayMember = "Text"
        dgvcbc.ValueMember = "Value"

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

Большое спасибо

1 Ответ

1 голос
/ 20 марта 2012

Проверьте это:

Сначала объявите это Vars:

Dim comboBoxCol As New DataGridViewComboBoxColumn
    Dim gol As Integer = 0

Private Sub discountitems_new_discount_EditingControlShowing1(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles discountitems_new_discount.EditingControlShowing
        current_row = discountitems_new_discount.CurrentRow.Index.ToString
        comboBox = CType(e.Control, ComboBox)

        If (comboBox IsNot Nothing) Then

            'Add the event handler.  
            'AddHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
            gol = 1
            AddHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
        End If
    End Sub

  Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        comboBox = CType(sender, ComboBox)
        If gol = 1 Then
            Dim item_value As String = comboBox.SelectedValue 'Value
msgbox(item_value)
            gol = 0
        End If
    End Sub
...