代码之家  ›  专栏  ›  技术社区  ›  Skitzafreak

设置DataGridViewComboxCell的索引时出错

  •  0
  • Skitzafreak  · 技术社区  · 8 年前

    我在和一个 DataGridView 它有一个由 DataGridViewComboBoxCell .我的程序填充这些 ComboBoxCells 它会轮询本地数据库中的特定值,并以这种方式进行设置。

    这一点我没有问题。

    当我试图以编程方式更改ComboxCell中默认显示的值时,会出现问题。我在引号中加了“默认值”,因为我并没有真正尝试更改单元格的默认值,只是更改用户看到添加到单元格中的列时显示的值 数据表格控件 .

    目前,我的程序中出现以下错误:

    系统ArgumentException:DataGridViewComboxCell值无效。

    现在,我正试图使用以下代码来实现这一点:

    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 只是一个整数变量,设置为数据要添加到的行
    3. dg 是我的 数据表格控件 对象

    现在我已经用调试器运行了这段代码来确认这一点 ,我试图获取最后一行代码中的索引的值确实存在于组合框列表中。

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

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

    那我就不明白错误了。因此,我的问题似乎是试图将值设置为特定的索引,但我不确定我的代码有何错误。有没有其他方法可以设置 DataGridViewComboxCell 除了我想做的事?

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

    1 回复  |  直到 8 年前
        1
  •  0
  •   Skitzafreak    8 年前

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

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

    dg.Item("Supplier", rowNum).Value = dgvcc.Items().Item(dgvcc.Items.IndexOf(supplier))
    
    推荐文章