Winforms 对象引用未设置为DataGridView的InitializeEditingControlValue中对象的实例

Winforms 对象引用未设置为DataGridView的InitializeEditingControlValue中对象的实例,winforms,datagridview,datagridviewcombobox,Winforms,Datagridview,Datagridviewcombobox,我有一个DataGridView,在一个包含项目列表的组合框单元格中。当我们单击其中一个项目时,我会在主窗口中显示这些项目的内容。 但是,如果用户单击小箭头选择一个项目,但最终没有选择任何项目,则会得到一个未设置为对象实例的NullReferenceException对象引用 我在谷歌上发现,我需要实现自己的ComboBoxCell或column,但我发现的唯一例子比我得到的更糟糕 为供参考,我在DataBindingComplete中填充ComboxCell的项目,在RowPrePaint中输

我有一个DataGridView,在一个包含项目列表的组合框单元格中。当我们单击其中一个项目时,我会在主窗口中显示这些项目的内容。 但是,如果用户单击小箭头选择一个项目,但最终没有选择任何项目,则会得到一个未设置为对象实例的NullReferenceException对象引用

我在谷歌上发现,我需要实现自己的ComboBoxCell或column,但我发现的唯一例子比我得到的更糟糕

为供参考,我在DataBindingComplete中填充ComboxCell的项目,在RowPrePaint中输入值。每个ComboBoxCell都有不同的项目列表

请帮我找到解决办法


请注意,如果有人能解释我为什么会遇到这个问题…

因为您很可能是通过访问器使用以下代码拾取选定的组合框项目:

this.textBox1.Text = MyForm.ComboItemValue();
在包含组合框的表单中,您将

public string ComboItemValue
{
    get 
    { 
        if (this.datGridView.CurrentCell.GetType() == typeof(DataGridViewComboBoxCell))
            return this.dataGridView.CurrentCell.Value.ToString();
    }
}
显然,如果该值为空,则返回null

说了这么多,如果不发布任何代码,就很难猜测问题


我希望这有帮助。

您对代码的哪一部分感兴趣??哪个功能?