C#在执行SQL查询后刷新/更新数据绑定控件
本文关键字:更新 数据绑定 控件 刷新 执行 SQL 查询 | 更新日期: 2023-09-27 18:30:13
我有一个用于简单应用程序的数据绑定数据网格视图。我使用的是内置的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;