如何删除和清除vb 2010中的datagridview行

时间:2015-12-10 16:33:20

标签: vb.net winforms datagridview

我正在开发VB中的销售点系统并使用访问作为RDBMS。一切顺利但是当它被删除时我被困住了。 我想清除datagridview中的所有行,并希望将其从数据库中删除。新的datagridview将存储新项目,我将新数据发送到print.I尝试了以下代码,但所有徒劳无功。

java.lang.ClassCastException: java.lang.OutOfMemoryError cannot cast to java.lang.Exception

第二次尝试

     Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        For i As Integer = 0 To SProductDataGridView.RowCount
             SProductDataGridView.Rows.Remove(SProductDataGridView.Rows(0))
         Next

     End Sub

注意: For i As Integer = 0 To SProductDataGridView.RowCount -1 ProductTableAdapter.DeleteProduct(IDTextBox.Text) ProductTableAdapter.Fill(MyDS.product) ProductTableAdapter.Dispose() Next =没有,我试过butgridview.rows.clear()不起作用和gridview.ds =没有什么只是清除gridview并且没有删除访问数据库中的数据。

1 个答案:

答案 0 :(得分:1)

您可以使用以下任一选项:

  • 使用DataTable
  • 使用DataGridView
  • 使用BindingSource

所有解决方案的逻辑是删除行,然后更新表适配器。

使用DataTable

您可以在数据表中找到每一行并将其删除,然后更新表适配器:

APPLICATION.openNewWindow(newUrl)

使用DataGridView

For Each row As DataRow In Me.TestDBDataSet.TestTable.Rows
    row.Delete()
Next
Me.TestTableTableAdapter.Update(TestDBDataSet.TestTable)

使用BindingSource

For Each row As DataGridViewRow In Me.TestTableDataGridView.Rows
    DirectCast(row.DataBoundItem, DataRowView).Delete()
Next
Me.TestTableTableAdapter.Update(TestDBDataSet.TestTable)