0

我有以下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它现在着火了,但有问题。提前致谢

4

0 回答 0