我的项目中有一个模块,我将其用作一种打印队列。我有一个错误列表。我希望错误列表是可绑定的,这样当您打开错误控制台时,新错误将自动通过。
我尝试使用 aList(Of String)
但你不能将 DataGrid 绑定到字符串......太愚蠢了......无论如何,现在我正在使用 a和DataTable
a 。问题是,当我第一次打开错误表单时,数据在那里,但表单中没有出现新的错误。DataView
BindingSource
我做了一个非常简单的测试表格,我在上面放了一个计时器,它会生成随机数并将其添加到 aDataTable
和 a 中DataView
,BindingSource
如果所有这些成员都在表格上,它就可以工作,但只要其中任何一部分在一个模块,它不会自动更新,就像我的项目一样。
为什么不能BindingSource
从模块自动更新?
更新
好的,所以在我的测试项目中,如果我添加 aTimer
和 aLabel
并在Timer
'Tick
事件上将Label
' 文本设置为BindingSource
'Count
属性,则表明该项目正在添加到BindingSource
,但DataGrid
没有更新以显示更改. 如果我最小化并恢复窗口,它会刷新但不会继续更新。看起来BindingSource
'ListChanged
事件仅在DataSource
ie 底层DataTable
实际上与...相同的表单上时才会触发BindingSource
。当我将它的任何部分放在另一个模块或表单中时,它不会触发事件。DataTable
但是,如果我将行从表单添加到底层表单BindingSource
上DataTable
,则它会触发ListChanged
事件,通常...