设置数据网格视图组合框单元格的索引时出错



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

这个我没有问题。

我遇到的问题是,当我尝试以编程方式更改组合框单元格中的哪个值"默认"显示时。 我在引号中有"默认情况下",因为我并没有真正尝试更改单元格的默认值,只需更改用户看到添加到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是一个数据表的对象,它保存从数据库中检索的数据
  2. rowNum只是一个整数变量,设置为要添加数据的行
  3. dg是我DataGridView对象

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

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

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

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

注意:当我用 VB.Net 编程时,我也会接受 C# 答案:)

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

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

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

相关内容

  • 没有找到相关文章

最新更新