ben*_*ear 1 vb.net data-binding datagridview winforms vb.net-2010
我有一个使用TableAdapter.
我只想将这些添加到DataGridView绑定某些列中。
我已经尝试了下面的代码来填充和绑定数据:
lAllBookings = (From r As DataRow In BookingsTableAdapter1.GetDataWithItems().Rows
Select New Booking With {.bookingID = r.Item("BookingID"), _
.itemID = r.Item("ItemID"), _
.bookedOutDate = r.Field(Of DateTime?)("BookedOutDate"), _
.bookedInDate = r.Field(Of DateTime?)("BookedInDate"), _
.identType = r.Item("IdentType"), _
.identString = r.Item("IdentString"), _
.image = r.Item("Image"), _
.complete = r.Item("Complete"), _
.notes = r.Item("Notes"), _
.itemName = r.Item("ItemName"), _
.itemBC = r.Item("ItemBarcode")}).ToList
dgvBookings.Columns("BookingID").DataPropertyName = "bookingID"
dgvBookings.Columns("ItemIdent").DataPropertyName = "itemName"
dgvBookings.Columns("BookedOut").DataPropertyName = "bookedOutDate"
dgvBookings.Columns("IdentString").DataPropertyName = "identString"
dgvBookings.DataSource = lAllBookings
Run Code Online (Sandbox Code Playgroud)
现在,当我这样做时,我得到了正确的行数,但所有字段都是空白的。
我已经解决了一些关于 SO 的问题和一些教程,但它们似乎都与我需要的略有不同。
有没有办法可以DataGridView使用我的项目列表填写?DataSet如果可以的话,我宁愿避免使用,因为我已经在这种List<Of Class>类型上构建了很多其他代码。
编辑 - 这是类Booking声明:
Public Class Booking
Public bookingID As Integer
Public itemID As Integer
Public itemName As String
Public itemBC As String
Public identType As Short
Public identString As String
Public image As Byte()
Public complete As Boolean
Public notes As String
Public bookedInDate As DateTime?
Public bookedOutDate As DateTime?
End Class
Run Code Online (Sandbox Code Playgroud)
我知道对你来说真的很晚,但也许它可以帮助某人。
我和你有同样的问题,但使用 vb.net。
最后我找到了解决方案:你的类不是公开属性而是变量。绑定系统会查找属性但找不到它们,因此您会得到空行。
尝试完成您的类添加{get; set;}(如果使用 vb.net,则添加属性属性),一切都会正常。
希望它可以有所帮助。
| 归档时间: |
|
| 查看次数: |
22423 次 |
| 最近记录: |