2016-09-16 41 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) 

下一页

相关问题