首页 文章

无法在DataGridView中设置AllowUserToAddRows

提问于
浏览
1

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

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

如果我尝试在网格上设置属性AllowUserToAddRows,我会收到一条错误消息“属性值无效”,附加详细信息“从类型'位图'转换为'整数'类型无效 . ”

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

这个错误消息试图告诉我什么?

使用属性AllowUserToaddRows有一些限制吗?

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

1 回答

  • 1

    我懂了 .

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

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

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

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

相关问题