【发布时间】:2014-09-27 20:49:37
【问题描述】:
我创建了一个带有 datagridview 的表单。我将该 DGV 绑定到从 SqlServer CE 数据库中的表构造的数据表。我能够添加、编辑和删除记录并将更改保存到数据库。
然后,我将 AutoGenerateColumns 设置为 False,这样我就可以设置具有良好格式的 DGV。首先,我只添加了一列:
'/// Set Up DataGridView
With dgvMaterials
.AutoGenerateColumns = False
'.Columns.Add("MaterialName", "Material")
End With
Dim col As DataGridViewColumn
'
col = New DataGridViewColumn
With col
.Name = "Material"
.DataPropertyName = "MaterialName"
.Width = 200
'.HeaderText = "Material"
End With
dgvMaterials.Columns.Add(col)
dgvMaterials.DataSource = stuff.Materials
(Stuff 是我执行 SQL 操作的类的实例,Materials 是 DataTable 的名称)
现在我必须检查 DataPropertyName 一百次,并确认 DataTable 中有记录,但它们不会显示在 DGV 中。为什么?
一如既往地提前感谢您提供的任何帮助。
【问题讨论】:
-
您能从
stuff.Materials中选择一项,类似于dgvMaterials.DataSource = stuff.Materials.Select(Function(m) m.MaterialName).ToList()吗? -
它是否适用于
AutoGenerateColumns = True而不是自己构建列?您可能需要先设置所有列,然后才能仅使用一列绑定到它。 -
是的,它确实可以这样工作 - 但不是 1 列。
标签: sql-server vb.net datagridview datatable