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

事實上資料綁定還可分為簡單資料綁定 / 複雜資料綁定 / 單項資料源 / 清單資料源。

在不同的情境中結合這些技巧,使用資料綁定會更加得心應手。