windows - SelectedIndex af en DataGridViewComboBoxCell? VB.NET

Indlæg af Hanne Mølgaard Plasc

Problem



Hvordan indstiller jeg SelectedIndex til en DataGridViewComboBoxCell?


Koden fylder kombinationsboksen med elementer, men jeg skal vælge en af ​​dem


Min kode:


 Dim cListItems As New System.Collections.Generic.List(Of Combobox\_values)

                If ds.Tables("items\_prices").Rows(0).Item("item\_selldozen") > 0 Then
                    Dim item\_selldozen As String = ds.Tables("items\_prices").Rows(0).Item("item\_selldozen")
                    cListItems.Add(New Combobox\_values("Docena (" + item\_selldozen + ")", item\_selldozen))
                End If


                Dim dgvcbc As DataGridViewComboBoxCell = DirectCast(CType(main.ActiveMdiChild, discount\_new\_discount).discountitems\_new\_discount.Rows(last\_row).Cells(3), DataGridViewComboBoxCell)

                dgvcbc.DataSource = cListItems 'Fill Remote Comboboxcell
                dgvcbc.DisplayMember = "Text"
                dgvcbc.ValueMember = "Value"

Bedste reference


Hvis du har en ComboBoxColumn i din DataGridView, og du vil vide, hvad der er det valgte indeks for kombinationsboksen, skal du gøre det her:



  

      
  1. Håndter EditingControlShowing-begivenheden i DataGridView. I denne hændelseshandler skal du kontrollere, om den aktuelle kolonne er af vores interesse. Så vi
      opret en midlertidig ComboBox-objekt og hent det valgte indeks:

  2.   



Private Sub dataGridView1\_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs)
    If dataGridView1.CurrentCell.ColumnIndex = 0 Then
        ' Check box column
        Dim comboBox As ComboBox = TryCast(e.Control, ComboBox)
        comboBox.SelectedIndexChanged += New EventHandler(AddressOf comboBox\_SelectedIndexChanged)
    End If
End Sub


Private Sub comboBox\_SelectedIndexChanged(sender As Object, e As EventArgs)
    Dim selectedIndex As Integer = DirectCast(sender, ComboBox).SelectedIndex
    MessageBox.Show("Selected Index = " & selectedIndex)
End Sub