2016-09-16 44 views
0

我一直在使用以下VB代碼來擦除數據綁定中的所有填充條目DatagridView;如何以編程方式清除數據綁定中所有填充的列數據DataGridView

For Each row As DataGridViewRow In DataGridView.Rows 

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

Next 

但是,由於我遇到了一些怪異的行爲,現在我已經瞭解到,如果在DataGridView已經被數據源= X(即是數據綁定)填充,然後我需要更改綁定的數據,而不是在DataGridView細胞他們自己。

問題是,我該如何去改變上面的代碼?

+1

'myDGV。 DataSource = Nothing' – Plutonix

+0

它不會「擦除」數據,只是將它從視圖中刪除 - 它仍然會被加載到您的應用程序中並駐留在數據庫中(如果這是它的來源)。用戶只是看不到它 – Plutonix

+0

我需要從數據庫中永久刪除列數據,然後更新DGV以反映這一點。 – sailor

回答

0

如果數據源是一個DataTable(MDT):

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

這改變了你的數據的內存拷貝。您需要保存數據以更改服務器上的數據。

+0

刪除整行,而不僅僅是OP想要的單元格。 – MrGadget

0

下面的代碼,似乎這樣的伎倆......

昏暗selectedRow作爲DataRowView的

的每一行作爲一個DataGridViewRow在dgv.Rows

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

下一頁

相關問題