【发布时间】:2015-07-31 15:07:11
【问题描述】:
我有一个包含几个 DataGridViews 的表单。在 Form 的 Load 事件中,我创建 DataTables 并将 DataGridView DataSources 绑定到这些表,如下所示(例如):
newObject.Environment = New DataSet
tblTemps = New DataTable("Temp")
tblTemps.Columns.Add("Date", GetType(Date))
tblTemps.Columns.Add("Temp (F)", GetType(Single))
newObject.Environment.Tables.Add(tblTemps)
dgvTemp.DataSource = newObject.Environment.Tables("Temp")
在设计中,DataGridView 将 AllowUserToAddRows 和 AllowUserToDeleteRows 设置为 True。所以我期望的是,当这个表单加载时,dgvTemp 将显示一个包含 2 列和 1 个空“新”行的网格。
但这不是正在发生的事情 - 网格完全是空的。任何想法为什么?非常感谢任何帮助!
请注意,我以这种方式将数据源设置为表,因为我希望用户能够在网格中输入数据并相应地更新数据表。
【问题讨论】:
-
在第一行设置断点并确保无论
newObject是什么,它都被初始化(不是Nothing)。如果在表单加载中遇到 NRE,VS 通常可以吞下异常。 -
如果在@Plutonix 建议的步骤之后,
DataGridView仍然是空的,然后检查DataGridView.AutoGenerateColumns = true
标签: vb.net winforms datagridview