我有一个类,其中包含从数据流中填充的数据列表。我想将该列表绑定到datagridview,因此它会自动填充列表。然而,随着数据的进入,列表并不令人耳目一新。我有类似的东西。
Public class MyClass
Private mData as list(Of networkData)
Public Property Data() as list(Of networkData)
Get
return mData
End Get
Set
mData = value
End Set
End Property
' some other properties that aren't imporant
' stuff to load Data with data from network stream
end class
Public class networkDat
Private rawdata as string
Public Property rawdata() as string
Get
return mrawdata
End Get
Set
mrawData = value
End Set
End Property
' some other properties that aren't imporant
' functions to parse rawdata into the other properties
End Class
'form
Public Class dataviewer
Dim dataView as datagridViewer = new datagridviewer()
Private Sub dataviewer_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
dim x as myClass = new myClass() 'new will start the datastream
datagridview.datasource = x.Data
End Sub
自从我启动数据流以来,第一个数据查看器将拥有一组初始数据。但是,随着新数据的进入,它不会更新。
答案 0 :(得分:0)
列表(of)不支持更改通知。为了您的目的,将List(of)更改为ObservableCollection(of)。
答案 1 :(得分:0)
List类没有实现支持列表更改通知的IBindingList接口。
请尝试使用BindingList类:
提供支持数据绑定的通用集合。
要观察类中属性的更改,该类需要实现INotifyPropertyChanged接口:
通知客户端属性值已更改。