我有一个表单,其中包含一个按钮和一个DataGridView。
该按钮允许我将新人员添加到数据库中:
DataRow drow = sql.ds.Tables["Etablissement"].NewRow();
drow[1] = nom.Text; //drow[0] it's an auto-countign var
drow[2] = string.IsNullOrEmpty(ville.Text) ? DBNull.Value : (object)ville.Text;
sql.ds.Tables["Etablissement"].Rows.Add(drow);
SqlCommandBuilder cmb = new SqlCommandBuilder(daEtablissement);
daEtablissement.Update(sql.ds, "Etablissement");
dgv.Refresh(); // dgv : DataGridView that i'm usign
XtraMessageBox.Show("Bien Ajouter !");
Videz();
nom.Focus();问题是,当DataGridView被刷新时,我添加的人的代码不显示,我该如何解决这个问题?
发布于 2012-07-30 08:18:22
Refresh方法只是UI刷新,而不是数据绑定刷新。最好、最简单的方法是使用包含DataTable的BindingSource作为数据源,并将BindingSource设置为网格的数据源。通常,当您更新DataTable时,网格应该显示新数据,但是如果没有显示,您可以调用BindingSource.ResetBindings(false)
代码:
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = myDataTable;
myGrid.DataSource = bindingSource;如果由于任何原因,更新数据表没有刷新网格,您可以调用:
bindingSource.ResetBindings(false); // put true if your metadata has also changedhttps://stackoverflow.com/questions/11714066
复制相似问题