无法在DataGridView

时间:2016-02-01 09:20:42

标签: winforms datagridview

我有一个带有DataGridView的Winforms应用程序。

网格的DataSource设置为BindingSource。 BindingSource的DataSource是一组对象,它实现了IBindingList接口。 (实际上是基于样本的SortableBindingList类。)

如果我尝试在网格上设置属性AllowUserToAddRows,则会收到错误消息"属性值无效"其他详细信息"转换类型'位图'输入'整数'无效。"

网格中的某些列显示图像,这些图像是只读的。

试图告诉我的错误消息是什么?

使用属性AllowUserToaddRows有什么限制吗?

如果它引用网格中的特定列,或者表示行的类中的属性,我如何找出导致问题的列或属性?

1 个答案:

答案 0 :(得分:1)

我已经得到了它。

错误消息是DataGridViewImageCell的自定义实现中的函数GetFormattedValue()中的异常。

在所有实际情况中,使用枚举值调用此函数,该值显示为图像。该函数将值转换为相关的枚举,然后选择几个图像中的一个。

如果设置AllowUserToAddRows = true,则设计器调用GetFormattedValue函数并在value参数中传递图像。我的(差)代码会产生异常。

我现在为这种情况添加了一些处理,我可以将AllowUserToAddRows设置为true。