2017-02-02 5 views
0

У меня есть datagridview, который получает данные из базы данных, он работает нормально, но затем, когда я закрываю форму и открываю ее снова, она не очищает предыдущий контент. Он выведет предыдущий выбор с новым сделанным выбором. Я попытался это коды:Clear Databound datagridview vb.net

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; [email protected]; 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

можете ли вы предложить для этого синтаксис? –

+0

Для какой опции? – jmcilhinney