未找到datagridview列名

时间:2015-10-06 19:22:37

标签: datagridview

我在VB.NET中编程并且有一个datagridview,它会自动从数据库中填充。

当我使用dgvPurchases.Rows(dgvPurchases.SelectedRows(i).Index).Cells("Head").Value之类的代码时,我会收到错误列名称" Head"没找到。

这是我的数据表中的列名,当我执行Edit Columns时,它会显示" Head"作为DataPropertyName。网络上的一个答案是重命名列,但我可以找到如何重命名标题,但不是列。

当我转到Purchases.Designer.vb时,我找到Me.HeadDataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()

在我最初设计表单后添加到数据库的列上,它们会显示Me.CkOff = New System.Windows.Forms.DataGridViewTextBoxColumn()dgvPurchases.Rows(dgvPurchases.SelectedRows(i).Index).Cells("CkOff").Value会返回一个值。

我知道我可以使用列号;但是,如果我更改数据表,则更正代码会出现问题。使用数据列名称是更可取的

2 个答案:

答案 0 :(得分:0)

我不明白导致此错误的原因或我的修复工作原因,但我通过转到FORMNAME.Designer.vb并更改

来解决问题

'HeadDataGridViewTextBoxColumn ' Me.Head.DataPropertyName = "Head" Me.Head.HeaderText = "Head" Me.Head.Name = "HeadDataGridViewTextBoxColumn" Me.Head.Width = 40

'HeadDataGridViewTextBoxColumn ' Me.Head.DataPropertyName = "Head" Me.Head.HeaderText = "Head" Me.Head.Name = "Head" Me.Head.Width = 40

答案 1 :(得分:0)

我遇到了类似的问题,可以用类似的方式解决。 经过一番挖掘,我发现当我将DataGridView的DataSource设置为Nothing以试图清除它时,问题就出现了。

当我在基础数据表上执行datatable.clear而不是我用作数据源时,问题就消失了。