清除DataGridView的所有列有什么替代方法吗?

时间:2017-03-16 15:04:48

标签: sql-server database vb.net winforms

我目前遇到这个问题,我的DataGridView中的数据正在消失,但可以在DataBindings中读取它们。

Public Sub FillDataSetAndView()

    SQL.ExecQuery("Select * From tblContestants")

    dgvContestants.DataSource = SQL.DBDT

    dgvContestants.AllowUserToAddRows = False
    dgvContestants.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

    dgvContestants.Columns.Clear()

    dgvContestants.Columns.Add("ConName", "CONTESTANT NAME")
    dgvContestants.Columns(0).DataPropertyName = "ConName"

    lblContName.DataBindings.Add("Text", SQL.DBDT, "ConName")
End Sub

我使用dgvContestants.Columns.Clear()的原因是因为我想清除tblContetants(ConNum, ConName, ConImg)中的大部分列,并将其替换为我想在DataGridView上加载的column(ConName)。< / p>

最后一行代码是我将绑定放到他们的位置的地方。 PictureBox的ConImg和价值持有者的ConNum

我知道是dgvContestants.Columns.Clear()使数据消失,因为每当我尝试将其注释掉时,DataGridView就会很好地显示记录,但是我想忽略所有不必要的列,而忽略DataGridView。

1 个答案:

答案 0 :(得分:0)

为datagridview DataSource分配null是清除数据库的最佳方法。

DataGrid.DataSource = Nothing
DataGrid.DataBind()