【问题标题】:DataGridViews not showing on formDataGridViews 未显示在表单上
【发布时间】: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


【解决方案1】:

我接受了 Plutonix 和 Fabio 的建议——这是真的,我没有在那个块之前初始化 newObject,我添加了 .AutoGenerateColumns = True 只是为了确定。现在它起作用了!非常感谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 2016-08-25
    • 1970-01-01
    相关资源
    最近更新 更多