DataGridViewComboBoxColumn 的项目可以是自定义对象类型吗?
Can items of DataGridViewComboBoxColumn be of custom object type?
在 DataGridViewComboBoxColumn
中,我需要使用 class MyValue
的值作为组合框项目(在 Items
属性 中),但我离开我在其中选择任何值的组合框列时,在运行时出现 DataError。
DataGridViewComboBoxColumn 如何与自定义类型的值一起使用(没有 DataError 错误)?
更多详情:
Class MyValue
看起来像这样:
Public Class MyValue
Implements ICloneable
Public Property Definition As String
Public Shadows Function ToString() As String
Return "DEF" & Definition
End Function
Public Function Clone() As Object Implements ICloneable.Clone
Return MemberwiseClone()
End Function
End Class
DataSource
属性 未设置,预计 而非 是强制性的。
DataError 问题一直存在,直到给定 DataGridViewComboBoxColumn
具有属性 DisplayMember
和 ValueMember
为空。
- 设置
DisplayMember
为属性的名称,可以作为显示值。
- 设置
ValueMember
为属性的名称,可以用来标识值对象。
请注意,对于未绑定的列,它们不能在设计器中设置,因为它会将它们还原为 ""
,因此必须以编程方式设置它们。
示例:
DisplayMember = "Definition"
ValueMember = "ThisObject"
...将自引用 属性 ThisObject
添加到 MyValue
class:
Public Class MyValue
'...
Public Property ThisObject As MyValue
Public Sub New()
MyBase.New()
ThisObject = Me
End Sub
'...
End Class
在 DataGridViewComboBoxColumn
中,我需要使用 class MyValue
的值作为组合框项目(在 Items
属性 中),但我离开我在其中选择任何值的组合框列时,在运行时出现 DataError。
DataGridViewComboBoxColumn 如何与自定义类型的值一起使用(没有 DataError 错误)?
更多详情:
Class MyValue
看起来像这样:
Public Class MyValue
Implements ICloneable
Public Property Definition As String
Public Shadows Function ToString() As String
Return "DEF" & Definition
End Function
Public Function Clone() As Object Implements ICloneable.Clone
Return MemberwiseClone()
End Function
End Class
DataSource
属性 未设置,预计 而非 是强制性的。
DataError 问题一直存在,直到给定 DataGridViewComboBoxColumn
具有属性 DisplayMember
和 ValueMember
为空。
- 设置
DisplayMember
为属性的名称,可以作为显示值。 - 设置
ValueMember
为属性的名称,可以用来标识值对象。
请注意,对于未绑定的列,它们不能在设计器中设置,因为它会将它们还原为 ""
,因此必须以编程方式设置它们。
示例:
DisplayMember = "Definition"
ValueMember = "ThisObject"
...将自引用 属性 ThisObject
添加到 MyValue
class:
Public Class MyValue
'...
Public Property ThisObject As MyValue
Public Sub New()
MyBase.New()
ThisObject = Me
End Sub
'...
End Class