C# 刷新DataGridView

C# 刷新DataGridView,c#,winforms,C#,Winforms,我有一个绑定到表的dataGridView。在与DataGridView相同的表单上,我有几个文本框和一个按钮,用于向数据库添加新值,并希望它们也显示在gridView中。在数据库中保存时,只有新值不会显示在gridView中。我尝试了以下方法: this.Validate(); this.pBindingSource.EndEdit(); this.pTableAdapter.Update(this.DBDataSet); pDataGridView.Refresh(); 这不管用。据我所知

我有一个绑定到表的dataGridView。在与DataGridView相同的表单上,我有几个文本框和一个按钮,用于向数据库添加新值,并希望它们也显示在gridView中。在数据库中保存时,只有新值不会显示在gridView中。我尝试了以下方法:

this.Validate();
this.pBindingSource.EndEdit();
this.pTableAdapter.Update(this.DBDataSet);
pDataGridView.Refresh();
这不管用。据我所知,.Refresh方法只会重新绘制GridView,所以它应该在更新tableAdapter之后工作,所以我想。但事实并非如此

然后我试过:

this.pDataGridView.DataSource = null;
this.pDataGridView.DataSource = this.pBindingSource;
pDataGridView.Refresh();
这也不行。然后尝试为绑定源重置bindings(),但没有成功,然后我就没有办法了

如何刷新DataGridView?

您可以像这样修改

this.pDataGridView.DataSource = null;
this.pDataGridView.DataBind();
this.pDataGridView.DataSource = this.pBindingSource;
pDataGridView.DataBind();
您还可以使用以下选项:

this.[tablename]tableAdapter.Fill(this.[Database]DataSet.[tablename]);
在每个按钮命令中,它至少对我有效

例如,我的代码如下所示:

this.studentinfoTableAdapter.Fill(this.studentDataSet.studentinfo);

我认为您需要使用:this.pBindingSource.DataSourceIt不起作用。谢谢你的第一个问题:Silvelight还是WPF?第二个:你使用什么类型的数据收集-pBindingSource?1.C夏普根据标题buddy。2.private System.Windows.Forms.BindingSource PBBindingSource它是Windows窗体应用程序吗?还是其他类型?pDataGridView没有.DataBind()方法。我正在使用VisualStudio2010btw@orzacsergiu,正如您所知:VS的版本与c#的功能完全无关。我认为您应该说明您的.Net framework版本。