我有以下DataGridViewComboBoxColumn
在执行时生成并插入到DataGridView
:
Public Sub GenerateCol()
Try
Col.DataSource = LoadData()
Col.DisplayMember = "code"
Col.ValueMember = "code"
Col.Name = "col2"
Col.HeaderText = "Column 2"
Col.DataPropertyName = "col2"
Col.SortMode = DataGridViewColumnSortMode.Automatic
dgv.Columns.Insert(15, Col)
Catch ex As Exception
MsgBox("ERROR: " & vbCrLf & ex.Message, MsgBoxStyle.Information)
End Try
End Sub
这是将值加载到 ComboBox 单元格中的方法:
Private Function LoadData() As DataTable
Try
dt = sd.RunService("Service", DSResult) 'executes a sql string
Return dt.Tables(0)
Catch ex As Exception
MsgBox("No Data" & vbCrLf & ex.Message, MsgBoxStyle.Information)
End Try
End Function
返回输出:
code | date | value
---------------------
A 12/06 100
B 12/06 200
...
但是,我想知道必须使用哪些事件来更改 two 的值DataGridViewNumericColumn
。其中之一dgvNumericColumn
必须根据 中显示的值(代码)ComboBoxCell
和选择的日期取公开的数据表的值。另一列必须采用该值和第三列的另一个值(我必须将这些值相乘)。
我正在考虑SelectedIndexChanged
事件,但我仍在努力。它实际上什么都不做:
Private Sub Col_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim SelectedMon As Object
Dim SelectedDiv = CType(Col.Selected, String)
SelectedMon = dt.Tables(0).Columns("value")
col_Mon.Value = col_Nom * SelectedMon
col_valmon.Value = SelectedMon
End Sub
编辑:我创建了一个关于事件的新问题。CellValueChanged
它现在着火了,但有问题。提前致谢