Vb.net 即使AutoGenerateColumns=False,DataGridView列仍会自动创建
我有一个DataGridView,并将AutoGenerateColumns属性设置为false,但当我构建项目时,列是自动生成的 我可以在窗体的Designer.vb代码中看到属性设置为false 我以前有过这个问题,我不知道如何解决它 如有任何建议,将不胜感激Vb.net 即使AutoGenerateColumns=False,DataGridView列仍会自动创建,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我有一个DataGridView,并将AutoGenerateColumns属性设置为false,但当我构建项目时,列是自动生成的 我可以在窗体的Designer.vb代码中看到属性设置为false 我以前有过这个问题,我不知道如何解决它 如有任何建议,将不胜感激 谢谢。我重新添加了控件,它似乎暂时可以工作。我相信有什么东西被破坏了,导致了这个问题。正如我在问题中提到的,我以前也遇到过这种情况。如果其他人有这样的问题,如果您能提供一些详细信息,那就太好了。我已经重新添加了控件,目前它似乎正在工作
谢谢。我重新添加了控件,它似乎暂时可以工作。我相信有什么东西被破坏了,导致了这个问题。正如我在问题中提到的,我以前也遇到过这种情况。如果其他人有这样的问题,如果您能提供一些详细信息,那就太好了。我已经重新添加了控件,目前它似乎正在工作。我相信有什么东西被破坏了,导致了这个问题。正如我在问题中提到的,我以前也遇到过这种情况。如果其他人有这样的问题,如果您能提供一些详细信息,那就太好了。我知道这是一个老问题,但它可能有助于搜索相同问题的人: 我今天遇到了这个问题。在设置数据源之前,设置“AutoGenerateColumns”属性非常重要,否则在您告诉DataGridView不要这样做之前,会生成列:
DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = mySource
我知道这是一个老生常谈的问题,但也许它能帮助搜索相同问题的人: 我今天遇到了这个问题。在设置数据源之前,设置“AutoGenerateColumns”属性非常重要,否则在您告诉DataGridView不要这样做之前,会生成列:
DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = mySource
我发现,若您试图在加载表单期间设置列,那个么您会遇到类似这样的奇怪问题。相反,在填充网格之前,我检查是否定义了列,如果没有,那么我继续在该点配置列。这对我来说是一致的——在填充列时,我首先将属性设置为auto add columns=false:
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
我发现,若您试图在加载表单期间设置列,那个么您会遇到类似这样的奇怪问题。相反,在填充网格之前,我检查是否定义了列,如果没有,那么我继续在该点配置列。这对我来说是一致的——在填充列时,我首先将属性设置为auto add columns=false:
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
8年后,使用Visual Studio 2017以同样的方式解决了同样的问题。希望微软有一天能找到解决办法。真烦人。在成熟的应用程序中,读取控件可能是一件痛苦的事情!8年后,使用Visual Studio 2017以同样的方式解决了同样的问题。希望微软有一天能找到解决办法。真烦人。在成熟的应用程序中,读取控件可能是一件痛苦的事情!