我遇到了一些问题,并在一些简化的代码中进行了解释
我有一个结构
Public Structure myStruct
Public Property name As String
Public Property span As Double
Public Property offs As Double
End Structure
在Singleton对象中实例化,如下所示
Public myValues(10) As myStruct
然后在表单上,我将结构用作SourceBinder的DataSource,将绑定器用作DataGridView的DataSource。
在加载表单时,我将所有值都放入绑定器
For i As Integer = 0 To 9
binder.Add(singleton.getRef.myValues(i))
Next i
所有值都显示在网格上。
用户应该能够更改值,这应该反映在myValues上,但无论我在CellValueChanged或CurrentChanged上放了什么代码。我无法反映这些变化。
在这些事件上使用断点,我注意到grid.row()。cell()。values和binder.current永远不会改变。
我还尝试放置一个按钮并直接更改myValues并重置绑定binder.ResetBindings(False)
,但没有任何反应。
据我所见,所有ReadOnly属性都设置为false。
我还尝试在网格上将VirtualMode设置为true并捕获CellValuePushed和CellValueNeeded事件,但这些事件从未被调用过。 (那是在猜测基础上)
如果有人能帮助我的话,我真的没有关于这个的想法!
感谢。
答案 0 :(得分:2)
尝试使用类:
Public Class myStruct
Public Property name As String
Public Property span As Double
Public Property offs As Double
End Class