没有找到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返回一个值。

我知道我可以使用列号;但是,如果我更改了数据表,那么更正代码就有问题了。使用数据列名更可取

我遇到了一个类似的问题,可以用类似的方式解决。经过一番深入研究,我发现这个问题是在我将DataGridView的DataSource设置为Nothing以试图清除它时引起的。

当我做一个datatable时。在我用作数据源的底层数据表中,这个问题就消失了。

我通过进入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

最新更新