如果您有一個綁定到DataView(someDataTable.DefaultView)的DataGridView。編輯底層DataTable時推遲DataGridView更新
..並且從代碼對底層DataTable中的行執行了大量編輯。
是否可以推遲更新DataGridView,直到您決定完成編輯行爲止?
實際上,每次編輯後都會更新DataGridView,如果您不需要即時反饋,則DataGridView效率低下,並且在DataTable中依次更新多行時會產生一些視覺震動。
如果您有一個綁定到DataView(someDataTable.DefaultView)的DataGridView。編輯底層DataTable時推遲DataGridView更新
..並且從代碼對底層DataTable中的行執行了大量編輯。
是否可以推遲更新DataGridView,直到您決定完成編輯行爲止?
實際上,每次編輯後都會更新DataGridView,如果您不需要即時反饋,則DataGridView效率低下,並且在DataTable中依次更新多行時會產生一些視覺震動。
爲了能夠暫時中止數據綁定,您必須在您的DataGridView
和DataView
之間放置BindingSource
。通過將BindingSource
的RaiseListChangedEvents
屬性設置爲false,底層源的更改不會通知DataGridView
。您可以在設計視圖中將&拖放到工具箱中的Bindingsource
組件。我試圖建立通過設計師的數據來源,但它沒有工作,所以我做到了在代碼:
bindingSource1.DataSource = someDataTable.DefaultView;
dataGridView1.DataSource = bindingSource1;
暫停數據綁定,只是RaiseListChangedEvents
屬性設置爲false:
bindingSource1.RaiseListChangedEvents = false;
要恢復數據綁定,只需設置RaiseListChangedEvents
爲true,並重新綁定,因此更新顯示:
bindingSource1.RaiseListChangedEvents = true;
bindingSource1.ResetBindings(false);
尼斯的答案。謝謝。 – xyz 2009-07-15 20:51:41