我有一个带有DataGridView的Winforms应用程序。
网格的DataSource设置为BindingSource。 BindingSource的DataSource是一组对象,它实现了IBindingList接口。 (实际上是基于样本的SortableBindingList类。)
如果我尝试在网格上设置属性AllowUserToAddRows,则会收到错误消息"属性值无效"其他详细信息"转换类型'位图'输入'整数'无效。"
网格中的某些列显示图像,这些图像是只读的。
试图告诉我的错误消息是什么?
使用属性AllowUserToaddRows有什么限制吗?
如果它引用网格中的特定列,或者表示行的类中的属性,我如何找出导致问题的列或属性?
答案 0 :(得分:1)
我已经得到了它。
错误消息是DataGridViewImageCell的自定义实现中的函数GetFormattedValue()中的异常。
在所有实际情况中,使用枚举值调用此函数,该值显示为图像。该函数将值转换为相关的枚举,然后选择几个图像中的一个。
如果设置AllowUserToAddRows = true,则设计器调用GetFormattedValue函数并在value参数中传递图像。我的(差)代码会产生异常。
我现在为这种情况添加了一些处理,我可以将AllowUserToAddRows设置为true。