2017-03-16 123 views
0

我目前有這個問題,我的DataGridView中的數據正在消失,但他們可以在DataBindings中讀取。在清除DataGridView的所有列時是否有其他選擇?

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)與唯一column(ConName)我想在DataGridView中加載替換它們。

代碼的最後一行是我會放在綁定自己的位置。價值持有人的PictureBox和ConNumConImg

我知道這是使數據消失的dgvContestants.Columns.Clear(),因爲每當我嘗試將其註釋掉時,DataGridView顯示的記錄都很好,但是我想忽略DataGridView中所有不必要的列。

+0

你應該用QUOTENAME包裝你的dbName。發佈時,這可能會受到sql注入的影響。 –

+0

@SeanLange是的,謝謝你的提醒。 – Rhail

+0

LOL我真的想修復你的查詢,而不是問題。 :d –

回答

0

到DataGridView數據源分配null是清除databinds的最佳途徑。

DataGrid.DataSource = Nothing 
DataGrid.DataBind() 
相關問題