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 成员