簡體   English   中英

執行SQL查詢后C#刷新/更新數據綁定控件

[英]C# Refresh/Update databound control after executing SQL query

我有一個用於簡單應用程序的數據綁定datagridview。 我正在使用內置的Visual Studio數據庫,但是正在使用SQL查詢來按我喜歡的方式操作數據。 datagrid視圖僅是數據綁定的,因為它是必需的。

執行任何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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM