我有一个datagridview从数据库中获取数据,它工作正常,但是当我关闭表单并再次打开它时,它不会清除以前的内容。它将输出先前的选择并进行新选择。 我试过这个代码:
compSpecs.modelDatagridview1.DataSource = Nothing
compSpecs.modelDatagridview1.Rows.Clear()
compSpecs.modelDatagridview1.Columns.Clear()
但它仍然不清楚。也许我做得不对。请帮忙。
这是我的代码:
Private Sub load_model2()
conn = New MySqlConnection
conn.ConnectionString = "server=127.0.0.1; port=3306; username=root; password=p@ssw0rd; database= atos_db"
Dim sda As New MySqlDataAdapter
Dim bsource As New BindingSource
compSpecs.modelDatagridview2.DataSource = Nothing
compSpecs.modelDatagridview2.Rows.Clear()
compSpecs.modelDatagridview2.Columns.Clear()
Try
conn.Open()
Dim query As String
query = "select * from atos_db.itemdetails_tbl left join atos_db.brand_tbl on itemdetails_tbl.brand_id = brand_tbl.brand_id left join atos_db.item_tbl on brand_tbl.item_id=item_tbl.item_id where item='" & itemCombobox2.Text & "'"
comm = New MySqlCommand(query, conn)
sda.SelectCommand = comm
sda.Fill(dbDataset)
bsource.DataSource = dbDataset
compSpecs.modelDatagridview2.DataSource = bsource
sda.Update(dbDataset)
conn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
conn.Dispose()
End Try
End Sub
答案 0 :(得分:0)
首先,这意味着您每次都使用相同的表单实例。如果您每次要显示表单的新实例,那么上次不会遗留任何内容。
如果您不想这样做,如果您只是再次重新绑定它,那么从数据源解除网格绑定是没有用的。如果数据仍在数据源中,则网格将再次显示它。如果要删除数据,则需要清除数据源。网格显示数据源中的内容,因此清除数据源,网格也将被清除。