【发布时间】:2019-12-19 23:03:13
【问题描述】:
我有一个绑定到绑定源的数据网格,该绑定源本身是从列表中填充的。
我可以看到绑定源已填充,并且我可以看到数据网格具有与列表中的数据匹配的预期行数,但我无法获取要填充数据的列。我尝试为列设置 datapropertyname 但无济于事。我知道这可能很简单,但我正在兜圈子。
谁能帮忙
将 cE 变暗为新的 ClsEmail
Dim bs As New BindingSource
Dim dgv = Me.DataGridView1
dgv.AutoGenerateColumns = False
bs.DataSource = cE.GetMail("team@xxxx.xxxx")
With dgv.Columns(0)
.DataPropertyName = "ID"
.HeaderText = "ID"
End With
With dgv.Columns(1)
.DataPropertyName = "Subject"
.HeaderText = "Subject"
End With
dgv.DataSource = bs
当我按下按钮填充数据网格时,我得到四行,但列中没有值。显然我没有正确绑定列,但我看不到我缺少什么。
【问题讨论】:
-
您确定 ID 和 Subject 的 .DataPropertyNames 与您的 DataSource 上的字段名称的拼写完全相同吗?
-
是的。创建源数据的datapropertyname
-
我通过读取 Outlook 邮箱并创建具有三个属性的新类 ID、Subject 和 DataReceived 来生成数据,然后我使用这些相同的名称作为 dataperoptynames、相同的拼写、相同的大小写
-
尝试设置 dgv.AutoGenerateColumns = true 以查看网格上显示的内容,它可能会给您一个提示。
-
cE.GetMail("team@xxxx.xxxx")返回什么?也没有理由声明dgv(尤其是没有类型),直接使用DataGridView1。您还设置了两次.DataSource属性。你想用哪一个?