Situation
資料和介面的同步一向是實作技術的關鍵點。特別在有多個改變資料的位置,手動編寫兩者的同步不僅繁瑣且難以維護。
WinForm 提供的資料綁定 (Data Binding) 提供非常簡便的方式以自動同步控件屬性和資料屬性。其目的就是當資料或控件兩者其中之一改變時,另一者會同步變化。
資料綁定在使用方式上可以簡單也可以複雜,想要詳細了解的朋友可以參考 Windows Forms 2.0 數據綁定。
以下只說明如何綁定 DataGridView 和 BindingSource。
Action
3個步驟就能簡單綁定 BindingSource 和 DataGridView。
1.宣告並初始化 BindingSource
private BindingSource bindingSource = new BindingSource();
2.指定 BindingSource 的 DataSource 屬性所使用的資料型別
bindingSource.DataSource = typeof(MaintainData);//指定使用的自定義資料型別(MaintainData)
3.把 BindingSource 賦值給目標 DataGridView 的 DataSource 屬性
dataGridViewTest.DataSource = bindingSource;//綁定目標DataGridView(dataGridViewTest)
Result
完成以上綁定步驟之後,dataGridViewTest 會根據 bindingSource 的內容自動更新,不必手動同步。如下
bindingSource.Add(new Maintain()); //dataGridViewTest會自動更新
bindingSource.Clear(); //dataGridViewTest也會自動更新
而當你操作 dataGridViewTest 之後, bindingSource也會自動更新。
Extends
事實上資料綁定還可分為簡單資料綁定 / 複雜資料綁定 / 單項資料源 / 清單資料源。
在不同的情境中結合這些技巧,使用資料綁定會更加得心應手。