我有一个DataGridView并且AutoGenerateColumns属性设置为false,但是当我构建项目时,列是Auto Generated。
我可以在Form的Designer.vb代码中看到该属性设置为false。
我以前遇到过这个问题而且我不确定如何修复它。
任何建议都将不胜感激。
感谢。
答案 0 :(得分:1)
我重新添加了控件,它似乎暂时正在工作。我相信有些东西被破坏了,造成了问题。正如我在问题中提到的,我之前已经发生过这种情况。如果其他人有这样的问题,那么如果你能提供一些细节就会很棒。
答案 1 :(得分:1)
我知道这是一个老问题,但也许有助于搜索同一问题的人:
我今天遇到了这个问题。在设置DataSource之前设置'AutoGenerateColumns'属性非常重要,否则在您告诉DataGridView不这样做之前会生成列:
DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = mySource
答案 2 :(得分:0)
我发现如果您在加载表单期间尝试设置列,那么您就会遇到类似这样的奇怪问题。相反,在填充网格之前,我检查是否定义了列,如果没有,那么我继续并在那时配置列。这对我来说很有效 - 在填充列时,我将属性设置为auto add columns = false first thing:
Private Sub Populate_dgvQuoteSelection(status_id As Int32)
dgvQuoteSelection.DataBindings.Clear()
If dgvQuoteSelection.Columns.Count = 0 Then
Setup_dgvQuoteSelection()
End If
Try
dgvQuoteSelection.DataSource = DataService.Quote_HeaderDataService.Quote_GetListView_byStatus(status_id)
Catch ex As Exception
MessageBox.Show(String.Format("An error occured while trying to get the grid data: {0}", ex.Message), "Error populating grid", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub