2017-03-16 14 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 

私はtblContetants(ConNum, ConName, ConImg)に存在し、私はDataGridViewの上でロードしたいだけcolumn(ConName)に置き換える列のほとんどをクリアしたかったので、私はdgvContestants.Columns.Clear()を使用した理由があります。

最後のコード行は、バインディングを置く場所です。 PictureBoxへのConImgと値ホルダーへのConNum

私はそれをコメントアウトしようとする度にデータが消えるようになっていることを知っています。DataGridViewはレコードをきれいに表示しますが、不要な列はすべてDataGridViewを無視します。

+0

QUOTENAMEを使用してdbNameをラップする必要があります。掲載されているように、これはSQLインジェクションに潜在的に脆弱です。 –

+0

@SeanLangeはい、ありがとうございます。 – Rhail

+0

LOL私は本当に質問ではなく、あなたの質問を修正するつもりだった。 :D –

答えて

0

datagridviewのDataSourceにnullを割り当てると、データバインドを消去する最適な方法です。

DataGrid.DataSource = Nothing 
DataGrid.DataBind() 
関連する問題