哪些事件是通过编辑DataGridViewComboBoxCell触发的



我试图使一个手动编辑的DataGridView,不绑定到任何数据源,其中的DataGridView本身和大多数单元格类型子类(自定义单元格类型提供模板列在网格子类),使某些事件可以不同的单元格类型处理。
其中一种自定义单元格类型基于ComboBoxCell,其中的项是从枚举中手动添加的。目前,这是应用程序中唯一不能正常工作的部分,所以我假设我得到了大部分子类化语法(我是c#新手)。
每当我运行应用程序并尝试将下拉列表更改为空白默认值以外的任何内容时,都会出现一个消息框,其中包含以下行:

系统。ArgumentException: DataGridViewComboBoxCell值无效。

据我所知,这是因为单元格的值被设置为字符串而不是对象。我试过通过在onenddit事件中设置值来修复这个问题,这导致错误窗口只出现一次,只有在窗口被驳回后才能正确选择下拉菜单。
我还尝试覆盖抛出DataError的事件,并设法使错误窗口不出现,但这种方式被认为是一种hack,不会被接受为解决方案-我需要阻止任何错误被抛出完全出现。
关于我应该覆盖哪些其他事件,或者如何阻止此错误的任何建议?

DataGridViewComboBoxColumn类中,有一个ValueType属性,允许您定义在Items集合中添加的数据的类型。

你可以这样使用:

myComboBoxColumn.ValueType = typeof(myEnum);

相关内容

  • 没有找到相关文章

最新更新