执行SQL查询后,C#刷新/更新数据绑定控件

时间:2014-11-12 02:30:26

标签: c# database winforms datagridview databound

我有一个数据绑定datagridview用于一个简单的应用程序。我正在使用内置的visual studio数据库,但我正在使用SQL查询来操作我喜欢的数据。 datagrid视图只是数据绑定,因为它是一个要求。

在执行任何datagridview之后,它本身不会更新,但即使经过大量研究和测试我发现的一切,似乎没有任何效果。重新启动程序后,数据才会更新。

这就是我目前所拥有的:

dgvEmployee.DataSource = null;
dgvEmployee.Rows.Clear();
this.employeeBindingSource.ResetBindings(true);
dgvEmployee.DataSource = this.employeeBindingSource;

我知道这不是我查询的错,因为打开数据库会显示添加的值。感谢您的时间。这是我在这个网站上的第一个问题,所以请放轻松我;)

2 个答案:

答案 0 :(得分:0)

您是否尝试过刷新主窗体UI?像这样:

dgvEmployee.DataSource = null;
dgvEmployee.DataSource = this.employeeBindingSource;
this.Refresh();
this.Update();

答案 1 :(得分:0)

我正在使用此代码并且运行良好,但不确定这是否是最佳做法:

List<MyEmployeeData> lstDataSource = query.ToList();
dgvEmployee.DataSource = new BindingListView<MyEmployeeData>(lstDataSource);
dgvEmployee.Refresh();

它使用BindingListView class available via NuGet

在你的代码中,theese两行

dgvEmployee.DataSource = null;
dgvEmployee.Rows.Clear();

在我看来没有必要。

但你错过了这样的事情:

this.employeeBindingSource.DataSource = tableWithNewData;