Vb.net 即使AutoGenerateColumns=False,DataGridView列仍会自动创建

Vb.net 即使AutoGenerateColumns=False,DataGridView列仍会自动创建,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我有一个DataGridView,并将AutoGenerateColumns属性设置为false,但当我构建项目时,列是自动生成的 我可以在窗体的Designer.vb代码中看到属性设置为false 我以前有过这个问题,我不知道如何解决它 如有任何建议,将不胜感激 谢谢。我重新添加了控件,它似乎暂时可以工作。我相信有什么东西被破坏了,导致了这个问题。正如我在问题中提到的,我以前也遇到过这种情况。如果其他人有这样的问题,如果您能提供一些详细信息,那就太好了。我已经重新添加了控件,目前它似乎正在工作

我有一个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以同样的方式解决了同样的问题。希望微软有一天能找到解决办法。真烦人。在成熟的应用程序中,读取控件可能是一件痛苦的事情!