根据DataGridViewComboBoxCell

时间:2018-02-26 23:09:57

标签: .net vb.net datagridview datagridviewcomboboxcell datagridviewtextboxcell

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

0 个答案:

没有答案