DataGridView在数据集更新vb.net之后不刷新 [英] DataGridView does not refresh after dataset update vb.net
问题描述
我有一个带有dataGridView的vb.net表单
dataGridView数据源是具有此sql语句的dgvTableAdapter
SELECT membres.ID,membres.refere_par,bands.titre,
membres_1.prenom& & membres_1.nom AS reference_nom
FROM((bands INNER JOIN membres ON bands.ID = membres。[band])
INNER JOIN membres membres_1 ON membres.refere_par = membres_1.ID)
我从这个表中删除membres表如下
'获取会员ID
Dim userId As Integer
userId = DataGridView1.Item(0,0).Value
'删除会员
Me.MeoshowDataSet2.membres.FindByID(userId).Delete()
Me.MembresTableAdapter.Update(Me.MeoshowDataSet2)
'刷新datagrid
dataGridView1.Refresh()'没有
我知道delete语句的工作原理是因为我看到数据库中的更改。如果我关闭表单并重新打开它,则dataGridView是最新的。
Membres表是访问表
这样做的一般方法是重新设置 DataGridView
的DataSource 。
尝试这样的代码(使用正确的代码从数据集提供正确的表):
dataGridView1.DataSource = typeof(List);
dataGridView1.DataSource = dataset.Tables [your table];
调用 .Refresh()
不工作,因为它只是强制重画,但是绘制网格的代码不知道这些变化。
I have a vb.net form with a dataGridView
The dataGridView data source is the dgvTableAdapter with this sql statement
SELECT membres.ID, membres.refere_par, bands.titre,
membres_1.prenom & ' ' & membres_1.nom AS reference_nom
FROM ((bands INNER JOIN membres ON bands.ID = membres.[band])
INNER JOIN membres membres_1 ON membres.refere_par = membres_1.ID)
I delete membres from the membres Table like this
' Get member id
Dim userId As Integer
userId = DataGridView1.Item( 0,0).Value
' Delete the member
Me.MeoshowDataSet2.membres.FindByID(userId).Delete()
Me.MembresTableAdapter.Update(Me.MeoshowDataSet2)
' Refresh datagrid
dataGridView1.Refresh() ' does nothing
I know the delete statement works because I saw the changes in the database. If I close the form and reopen it, the dataGridView is up to date.
The membres table is an access table
I'm running the app in visual 2010 debug mode.
The usual way of doing this is to reset the DataSource
of the DataGridView
.
Try like this code (with correct code to provide the right table from the dataset):
dataGridView1.DataSource = typeof(List);
dataGridView1.DataSource = dataset.Tables["your table"];
Calling .Refresh()
doesn't work since it only forces a repaint, but the code that paints the grid doesn't know of the changes.
这篇关于DataGridView在数据集更新vb.net之后不刷新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!