iT邦幫忙

DAY 14
1

我的.Net之路系列 第 14

Windows Form資料繫結好幫手

  • 分享至 

  • xImage
  •  

簡介BindingSource
資料繫結在控制項在程式中常常會用到,有不少System.Windows.Forms的相關控制項都有DataSource屬性 (ex: DataGridView, ListBox, Combobox等..),一般的範例可能會看到此一屬性指向某個DataSet 或 DataTable,而筆者則習慣在中間加一層BindingSource類別的執行個體,將控制項的DataSource屬性指向這個BindingSource,為什麼要這麼用呢?以下來看一段引述自MSDN中對於BindingSource的描述:
**第一,經由提供間接取值 (Indirection) 層、貨幣管理﹝這個翻譯怪怪的,正確來說應該翻成同步化管理才對,不過MSDN文件庫中真的翻譯成貨幣管理﹞、變更告知和其他服務,簡化將表單上的控制項繫結至資料的動作。這可以藉由將 BindingSource 元件附加到資料來源,然後將表單上的控制項繫結至 BindingSource 元件來完成。與資料之間的所有進一步互動 (包括巡覽、排序、篩選及更新) 都是利用 BindingSource 元件的呼叫來完成。

第二,BindingSource 元件可以當做強型別的資料來源。一般來說,基礎資料來源類型會透過下列其中一項機制而變成固定:

* 使用Add 方法將項目加入 BindingSource 元件中。
* 將 DataSource 屬性設定為清單、單一物件或型別。

這兩個機制都會建立強型別清單。BindingSource 可支援簡單和複雜資料繫結,如同其 DataSource 和DataMember 屬性所指示。**

這個敘述說明了,當我們使用BindingSource當中間層時,可以得到一些原本資料來源不具備的功能,例如BindingSource的Position屬性,MoveFirst 、MoveLast 、MoveNext 與MovePrevious 方法,以及一些變更通知的事件,應用BindingSource可以使得我們撰寫相關資料操作上的程式事半功倍。


上一篇
睡一睡的重要性
下一篇
兩個表單傳值
系列文
我的.Net之路31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言