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



我有一个用于简单应用程序的数据绑定数据网格视图。我使用的是内置的visualstudio数据库,但我喜欢使用SQL查询来操作数据。数据网格视图只是数据绑定的,因为它是一个需求。

在执行任何数据后,datagridview都不会自行更新,然而,即使经过大量的研究和测试,我发现的一切似乎都不起作用。数据只有在我重新启动程序后才会更新。

这就是我目前拥有的:

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

我知道这不是我的查询的错,因为打开数据库会显示添加的值。谢谢你抽出时间。这是我在这个网站上的第一个问题,所以请对我宽容一点;)

您是否尝试过立即刷新主窗体UI?类似这样的东西:

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

我正在使用这段代码,它运行得很好,但不确定它是否是最佳实践:

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

它使用可通过NuGet获得的BindingListView类。

在你的代码中有两行

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

在我看来没有必要。

但你错过了这样的东西:

this.employeeBindingSource.DataSource = tableWithNewData;

最新更新