You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中BindingList绑定DataGridView行数正确但单元格为空

问题原因

WinForm DataGridView 数据绑定引擎默认只会读取绑定对象类型的公共属性,无法识别公共字段。
你代码中User类定义的id、firstName、lastName均为公共字段,绑定引擎无法获取这些字段的实际值,因此控件只能渲染出和数据源条目数量匹配的空行,无法填充对应数据。

修复方案

将User类中的公共字段修改为公共属性即可,修改后的User类代码如下:

Public Class User
    Sub New()
    End Sub

    ' 公共字段改为自动实现的公共属性
    Public Property id As Integer
    Public Property firstName As String
    Public Property lastName As String
End Class

可选优化

你原有代码中已经创建了BindingSource实例但未实际使用,推荐通过BindingSource中转绑定,后续实现排序、筛选、增量更新时逻辑会更简洁,对应绑定部分代码调整为:

' 绑定中转
Dim source = New BindingSource(bList, Nothing)
DataGridView1.DataSource = source

修改完成后重新运行窗体,DataGridView即可正常展示所有绑定数据。

内容的提问来源于stack exchange,提问作者Wabi-Sabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:45:50