如何获得SelectdValue像一个简单的组合框,但datagridviewCombobox使用行索引(dataGridView已满)(VB.net)
我尝试了一个代码,这工作很好,但我不知道如何使用它在按钮点击事件的代码:
Private Sub dgvSampleList_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles dgvSampleList.EditingControlShowing
Dim comboBox As ComboBox = CType(e.Control, ComboBox)
If (comboBox IsNot Nothing) Then
'Remove an existing event-handler
RemoveHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
'Add the event handler.
AddHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
End If
End Sub
Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim comboBox As ComboBox = CType(sender, ComboBox)
'Display selected value
MsgBox("ProgramID: " & comboBox.SelectedValue.ToString)
End Sub
this ComboBox从数据库获取信息代码:
fill.filldata_cb("fillDataProduct", Product_Name)
Product_Name.DisplayMember = "Product"
Product_Name.ValueMember = "ID"
DataGridViewComboBox命名为Product_Name,我从数据库中获取数据,使用SQL Server的存储过程和函数读取存储过程并给予所需的参数。我只是想获取与DataGridViewComboBox中所选项目相关的值成员
1条答案
按热度按时间lskq00tm1#
开始编辑组合框列中的单元格时,单元格的
Value
将指定给编辑控件的SelectedValue
,并设置SelectedItem
。当编辑会话结束时,编辑控件的SelectedValue
被分配回单元格的Value
。在您的案例中没有编辑控件,因此没有SelectedValue
可供获取。你只需要得到单元格的Value
,就像任何其他单元格一样。在大多数情况下,组合框列将绑定到数据库表中的数据,其中有一个ID和一个文本名称或描述。如果此数据绑定到标准
ComboBox
控件,则ID列的名称将分配给列的'ValueMemberand the name of the text column would be assigned to the
DisplayMember. You generally do the same with a
DataGridViewComboBoxColumn. The
DataSource,
DisplayMemberand
ValueMember',然后传播到每个单元格,然后传播到嵌入在这些单元格中的任何编辑控件。如果使用离散控件编辑相关表的列,则需要将该数据的相应列绑定到
ComboBox
的SelectedValue
。当您选择一条记录时,该列的值将被分配给SelectedValue
,从而设置SelectedItem
,用户所做的任何更改都将更改SelectedValue
,并将其分配回子表的列。这就是DataGridViewComboBoxColumn
的工作原理。该子表中的数据存储在网格单元格的Value
属性中,因此您感兴趣的值就存储在这里。