2016-09-16 5 views
0

次のVBコードを使用して、データバインドされたDatagridView内のすべての移入されたエントリを消去しています。データバインドされたDataGridView内のすべての移入された列データをプログラムで消去する方法

For Each row As DataGridViewRow In DataGridView.Rows 

     row.Cells(columnIndex).Value = DBNull.Value 

Next 

はしかし、私が遭遇したいくつかの奇妙な行動に、私は今、私はDataGridViewのセル、バインドされたデータを変更する必要はありません(つまり、データバインドである)場合のDataGridViewがデータソース= xによって取り込まれていることを学びました自分自身。

質問:上記のコードを変更するにはどうすればよいですか。

+1

'myDGVでDataGridViewRowとして行毎

DataRowViewとして

薄暗いselectedRow。 DataSource = Nothing' – Plutonix

+0

データを「消去」しないで、ビューから削除します。それはあなたのアプリにまだロードされ、DBに存在していればそれに由来します。ユーザーはそれを見ることができません – Plutonix

+0

データベースから列データを永久に消去し、それを反映するようにDGVを更新する必要があります。 – sailor

答えて

0

データソースは、データテーブル(MDT)の場合:

For Each row As DataRow In mdt.Rows 
     row.Delete() 
    Next 

これは、データのメモリコピーであなたを変更します。サーバー上のデータを変更するには、データを保存する必要があります。次のコードは、トリックを行うように思わ

+0

これは、OPが望む1つのセルだけでなく、行全体を削除します。 – MrGadget

0

... dgv.Rows

selectedRow = CType(row.DataBoundItem, DataRowView) 
selectedRow(ColumnIndex) = DBNull.Value 
dgv.NotifyCurrentCellDirty(True) 

次に

関連する問題