如何从默认的文本改变一个DataGridView单元格样式在vb.net到组合框?(How to c

2019-08-01 13:36发布

我是从一个数据集填充一个DataGridView。

一旦填充,如果用户点击一排,最后一栏应该改变从文本框组合框。

我使用vb.net 2010。

在Datagridview1 CellClick事件:

    With DataGridView1
        If .Rows.Count = 0 Then Exit Sub
        i = Datagridview1.currentrow.index

        Dim gridComboBox As New DataGridViewComboBoxCell
        gridComboBox.Items.Add("A") 'Populate the Combobox
        gridComboBox.Items.Add("B") 'Populate the Combobox
        gridComboBox.Items.Add("C") 'Populate the Combobox
        .Item(8, i) = gridComboBox
    End With

但是,这将导致一个错误:

The following exception occurred in DataGridView:
System.Argument.Exception: DataGridViewComboBoxCell value is not valid.
To replace this default dialog please handle the DataError event.

如果情况是不可行的,我想在从数据集的数据填充最后一列的类型为组合框的。

DataGridView1.DataSource = myDataSet

提前致谢。

Answer 1:

好吧,这是有点测试我的结论。 你的代码的工作,只要单元格的值是一样的下拉选择之一。 但是,如果你把组合框的单元格的值是“d”(cmbbox只有“A”,“B”和“C”),您将收到此错误信息。

因此,无论你把电流值作为你的组合框的选项,确保该电池只能有A,B或C的值,或者只是简单地通过它的值设置为“”清除单元格。 那么这将正常工作。 :)



文章来源: How to change a datagridview cell style from the default textbox to combobox in vb.net?