绑定列表(类)到vb.net中的datagridview

时间:2014-03-06 21:00:56

标签: vb.net data-binding datagridview

我有一个类,其中包含从数据流中填充的数据列表。我想将该列表绑定到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

自从我启动数据流以来,第一个数据查看器将拥有一组初始数据。但是,随着新数据的进入,它不会更新。

2 个答案:

答案 0 :(得分:0)

列表(of)不支持更改通知。为了您的目的,将List(of)更改为ObservableCollection(of)。

答案 1 :(得分:0)

List类没有实现支持列表更改通知的IBindingList接口。

请尝试使用BindingList类:

  

提供支持数据绑定的通用集合。

要观察类中属性的更改,该类需要实现INotifyPropertyChanged接口:

  

通知客户端属性值已更改。