我遇到了一些问题,这一切都在一些简化的代码中得到了解释
我有一个结构
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 事件,但这些事件从未被调用。(那是在猜测基础上)
如果有人可以帮助我,我对这个真的没有想法!
谢谢。