我正在使用一个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)
有关上述代码的一些注意事项:
suppliers
是一个DataTable对象,用于保存从数据库中检索到的数据rowNum
只是一个Integer变量,设置为要添加数据的行dg
是我的DataGridView
对象现在,我已使用调试器运行此代码,以确认组合框列表中确实存在是,即我试图获取的最后一行代码索引的值。
>如果我将最后一行更改为:
dg.Item("Supplier", rowNum).Value = dgvcc.Items(0)
然后我没有得到错误。因此,我的问题似乎与尝试将值设置为特定索引有关,但是我不确定我的代码有什么问题。除了我要尝试的操作之外,还有其他方法可以设置DataGridViewComboBoxCell
的当前值吗?
注意:在VB.Net中编程时,我也将接受C#答案:)
答案 0 :(得分:0)
所以我发现了我的问题。我需要更改:
-Append
收件人
dg.Item("Supplier", rowNum).Value = dgvcc.Items.IndexOf(supplier)