2012-03-19 30 views
1

我使用这个代码:显示ValueMember改变事件VB.NET

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

检查:

首先声明这个瓦尔:

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