我目前遇到这个问题,我的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。
答案 0 :(得分:0)
为datagridview DataSource分配null是清除数据库的最佳方法。
DataGrid.DataSource = Nothing
DataGrid.DataBind()