错误设置DataGridViewComboBoxCell的索引

时间:2018-08-20 18:40:04

标签: .net datagridview datagridviewcomboboxcell

我正在使用一个DataGridView组成一列的DataGridViewComboBoxCell。我的程序填充这些ComboBoxCells的方式是,它会轮询本地数据库以获取特定值并以这种方式进行设置。

这没问题。

遇到的问题是,当我尝试以编程方式更改“默认”显示ComboBoxCell中的哪个值时。我在引号中使用了“默认值”,因为我并没有真正尝试更改单元格的默认值,只需更改用户看到添加到DataGridView的列时显示的值即可。

当前我的程序出现以下错误:

  

System.ArgumentException:DataGridViewComboBoxCell值无效。

现在这是我正在尝试使用的代码,以使其正常工作:

Dim dgvcc As New DataGridViewComboBoxCell
For Each row As DataRow In suppliers.Rows
    dgvcc.Items.Add(row.Item("Supplier").ToString())
Next
dg.Item("Supplier", rowNum) = dgvcc
dg.Item("Supplier", rowNum).Value = dgvcc.Items.IndexOf(supplier)

有关上述代码的一些注意事项:

  1. suppliers是一个DataTable对象,用于保存从数据库中检索到的数据
  2. rowNum只是一个Integer变量,设置为要添加数据的行
  3. dg是我的DataGridView对象

现在,我已使用调试器运行此代码,以确认组合框列表中确实存在,即我试图获取的最后一行代码索引的值。

>

如果我将最后一行更改为:

dg.Item("Supplier", rowNum).Value = dgvcc.Items(0)

然后我没有得到错误。因此,我的问题似乎与尝试将值设置为特定索引有关,但是我不确定我的代码有什么问题。除了我要尝试的操作之外,还有其他方法可以设置DataGridViewComboBoxCell的当前值吗?

注意:在VB.Net中编程时,我也将接受C#答案:)

1 个答案:

答案 0 :(得分:0)

所以我发现了我的问题。我需要更改:

-Append

收件人

dg.Item("Supplier", rowNum).Value = dgvcc.Items.IndexOf(supplier)