DataGridViewComboBoxCell 的 SelectedIndex? VB.NET

Posted

技术标签:

【中文标题】DataGridViewComboBoxCell 的 SelectedIndex? VB.NET【英文标题】:SelectedIndex of a DataGridViewComboBoxCell? VB.NET 【发布时间】:2012-04-06 06:19:29 【问题描述】:

如何设置 DataGridViewComboBoxCell 的 SelectedIndex?

代码用项目填充组合框,但我需要选择其中一个

我的代码:

 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"

【问题讨论】:

你想什么时候设置选中的索引? 是的,我想设置任何选定的索引 我的意思是你想在什么事件或动作中设置它? 【参考方案1】:

如果您的 DataGridView 中有一个 ComboBoxColumn,并且您想知道组合框的选定索引是什么,那么您需要这样做:

    处理DataGridView的EditingControlShowing事件。在这个事件处理程序中,检查当前列是否是我们感兴趣的。然后我们 创建一个临时的 ComboBox 对象并获取选定的索引:
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

【讨论】:

以上是关于DataGridViewComboBoxCell 的 SelectedIndex? VB.NET的主要内容,如果未能解决你的问题,请参考以下文章

DataGridViewComboBoxCell 的 SelectedIndex? VB.NET

“DataGridViewComboBoxCell 值无效。”属性数据源

DataGridViewComboBoxCell 绑定 - “值无效”

选择后 DataGridViewComboBoxCell 显示 Value 成员而不是 Display 成员

winform循环向DataGridViewComboBoxCell添加值

c# 获取 DatagridviewComboBoxCell 的选定值