共用方式為


BindingSource 元件概觀

BindingSource 元件是設計用來簡化控制項至基礎資料來源的繫結程序。 BindingSource 元件可同時當做管線以及其他控制項要繫結至的資料來源。 當透過資料基礎清單命令進行傳遞時,該元件提供表單資料連接的抽象概念。 此外,可以直接在該元件上加入資料,因此它本身的功用就如同資料來源。

BindingSource 元件做為中繼工具

BindingSource 元件當做表單上部分或全部控制項的資料來源使用。 在 Visual Studio 中,可以透過 [屬性] 視窗中的 DataBindings 屬性,將 BindingSource 繫結至控制項。 如需詳細資訊,請參閱HOW TO:使用設計工具將 Windows Form 控制項和 BindingSource 元件加以繫結HOW TO:使用設計工具將 Windows Form 控制項和 BindingSource 元件加以繫結HOW TO:使用設計工具將 Windows Form 控制項和 BindingSource 元件加以繫結HOW TO:使用設計工具將 Windows Form 控制項和 BindingSource 元件加以繫結.

可以將 BindingSource 元件同時繫結到簡單資料來源 (例如某個物件或基本集合的單一屬性,像是 ArrayList) 以及複雜資料來源 (例如資料庫資料表)。 BindingSource 元件可當做提供繫結服務和貨幣管理服務的中繼工具。 不論是在設計階段或執行階段,若想要將 BindingSource 元件繫結至複雜資料來源,只需將此資料來源的 DataSourceDataMember 屬性分別設定為資料庫和資料表即可。 下圖示範 BindingSource 元件在哪些地方符合現有的資料繫結架構。

繫結來源和資料繫結架構

注意事項注意事項

在設計階段中,有些動作 (例如將資料庫資料表從資料視窗拖曳到空白表單上) 可在一個作業之內同時完成建立 BindingSource 元件、將之繫結至基礎資料來源並且加入資料感知 (Data-Aware) 控制項。 如需詳細資訊,請參閱顯示資料概觀顯示資料概觀將 Windows Form 控制項繫結至 Visual Studio 中的資料將 Windows Form 控制項繫結至 Visual Studio 中的資料.

BindingSource 元件做為資料來源

如果沒有事先指定要繫結至的清單,就開始將項目加入至 BindingSource 元件,則此元件將會被當做清單樣式的資料來源並接收這些加入的項目。

此外,您可以撰寫程式碼,設計成由 AddingNew 事件提供自訂的 "AddNew" 功能,這個事件是在項目加入清單之前呼叫 AddNew 方法時所引發的。 如需詳細資訊,請參閱 BindingSource 元件架構

巡覽

對於需要在表單上巡覽資料的使用者,將 BindingNavigator 元件搭配 BindingSource 一起使用即可巡覽和管理資料。 如需詳細資訊,請參閱 BindingNavigator 控制項 (Windows Form)

資料操作

BindingSource 可當做所有它可以繫結的 CurrencyManager,可存取資料來源相關的貨幣資訊和位置資訊。 下表顯示 BindingSource 元件提供用來存取和管理基礎資料的成員。

成員

描述

Current 屬性

取得資料來源的目前項目。

Position 屬性

取得或設定基礎清單中的目前位置。

List 屬性

取得清單,此即 DataSource 評估和 DataMember 評估。 如果 DataMember 尚未設定,將傳回 DataSource 所指定的清單。

Insert 方法

將項目插入至指定索引的清單。

RemoveCurrent 方法

從清單中移除目前項目。

EndEdit 方法

將暫止變更套用到基礎資料來源。

CancelEdit 方法

取消目前的編輯作業。

AddNew 方法

將新的項目加入至基礎清單中。 如果資料來源實作 IBindingList 並且從 AddingNew 事件傳回項目,則加入這個項目。 否則,這個要求將會傳遞給清單的 AddNew 方法。 如果基礎清單不是 IBindingList,項目將會透用公用的預設建構函式 (Constructor) 自動建立。

排序和篩選

您平常應該使用已排序或已篩選的資料來源。 下表顯示 BindingSource 元件資料來源所提供的成員。

成員

描述

Sort 屬性

如果資料來源是 IBindingList,則可取得或設定資料行名稱,此資料行名稱是用於排序以及排序次序資訊。 如果資料來源是 IBindingListView 而且支援進階排序,則可取得多重資料行名稱,這些資料行名稱是用於排序以及排序次序資訊。

Filter 屬性

如果資料來源是 IBindingListView,則可取得或設定運算式,此運算式是用於篩選檢視中的資料列。

請參閱

參考

BindingSource

BindingNavigator

概念

BindingSource 元件架構

其他資源

BindingSource 元件

BindingNavigator 控制項 (Windows Form)

Windows Form 資料繫結

在 Windows Form 上使用的控制項