在过去的两个小时里,我查看了您的问题以及互联网上的其他地方,但在任何地方都找不到解决我的问题的方法,或者至少我不明白如果我这样做了。如果这显得多余或空洞,我提前道歉。让我说清楚:问题是我以某种方式没有正确实施该方法,但我理解(或认为我这样做)它应该如何完成。
我在表单上有一个网格视图,我想在其中显示代表约会的自定义对象。我想绑定到我的约会对象而不是数据表(这是成功的)。但是,下面的方法不会在网格中显示我的约会对象,尽管它看起来是正确的。此外,直接将对象添加到 bindingsource 的内部列表也无法在网格中显示它们,直接将 gridview 的数据源设置为 bindinglist 也是如此。我不知道我做错了什么!请帮忙,这似乎根本没有意义,让我发疯。
Public Sub DisplayItems()
Dim bindingsource As BindingSource
Dim appointment As ClsAppointment
Dim appointments As System.ComponentModel.BindingList(Of ClsAppointment)
Dim iterator As IEnumerator
appointments = New System.ComponentModel.BindingList(Of ClsAppointment)
bindingsource = New BindingSource
iterator = Items
While iterator.MoveNext '
appointment = iterator.Current
appointments.Add(appointment)
End While
bindingsource.DataSource = appointments
gridview.DataSource = bindingsource
Debug.Print("")
Debug.Print("DisplayItems()...")
Debug.Print("GridView has " & gridview.Rows.Count & " rows")
End Sub
Public Class ClsAppointment
Public FirstName As String
Public LastName As String
Public Day As String
Public [Date] As Date
Public Time As Date
Public Address As String
Public City As String
Public State As String
Public Zip As String
Public Description As String
End Class
==================================================== =======================================
注意:DisplayItems() 是适配器 (ItemEditor) 的一种方法,为简单起见,我选择不显示。另一种方法 (Items) 通过枚举器返回适配器的项目集合(约会)。我已经对此进行了测试,并且知道枚举器正在返回项目,所以问题不是这个。