我有以下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 Cells中的方法:
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
...
但是,我想知道必须使用哪些事件来更改两个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
事件的新question。它现在开火但有问题。提前致谢