错误:"DataGridViewComboBoxCell值无效." DataSource是基本类型的列表

Chu*_*bur 7 c# datagridview

我在SO上找不到与我的问题完全匹配的问题.

类似的这种问题这个问题,我设置DataSourceDataGridViewComboBoxColumn的东西的清单.在我的情况下,事情是简单的类型,如双打和整数,所以谈论ValueMembers和DisplayMembers的答案并没有给我带来很多好处.当用户选择一个值时,我得到了可怕的"DataGridViewComboBoxCell值无效"错误.

我可以用一个空的dataGridView_DataError处理程序来吞下错误,但这显然是一个糟糕的方法.

Chu*_*bur 19

我在这里找到了答案.在我的问题的第二个链接的答案中也提到了它.设置为DataSource不是字符串的任何内容的列表时,请将ValueType列设置为typeof(<your data type>)

        IList<double> kvChoices;
        // Populate kvChoices...
        DataGridViewComboBoxColumn kvCol =
            dataGridView1.Columns[0] as DataGridViewComboBoxColumn;
        kvCol.DataSource = kvChoices;
        kvCol.ValueType = typeof(double);
Run Code Online (Sandbox Code Playgroud)