共用方式為


Windows Form 支援的資料來源

傳統上,資料系結已在應用程式內使用,以利用儲存在資料庫中的資料。 使用 Windows Forms 資料系結,您可以存取資料庫的資料,以及其他結構中的資料,例如陣列和集合,只要符合特定最低需求即可。

要系結至的結構

在 Windows Forms 中,您可以系結至各種不同的結構,從簡單物件(簡單系結)到複雜的清單,例如 ADO.NET 資料表(複雜系結)。 對於簡單系結,Windows Forms 支援系結至簡單物件上的公用屬性。 Windows Forms 清單型系結通常需要物件支援 IList 介面或 IListSource 介面。 此外,如果您要透過 BindingSource 元件系結 ,則可以系結至支援 IEnumerable 介面的物件。 如需資料系結相關介面的詳細資訊,請參閱 與資料系結 相關的介面。

下列清單顯示您可以在 Windows Forms 中系結至的結構。

BindingSource
BindingSource是最常見的 Windows Forms 資料來源,並在資料來源與 Windows Forms 控制項之間執行 Proxy。 一般 BindingSource 使用模式是將控制項系結至 , BindingSource 並將 系結 BindingSource 至資料來源(例如,ADO.NET 資料表或商務物件)。 提供 BindingSource 可啟用和改善資料系結支援層級的服務。 例如,Windows Forms 清單型控制項,例如 DataGridViewComboBox 不支援直接系結至資料來源,不過,您可以透過 系結來 IEnumerableBindingSource 啟用此案例。 在此情況下,會將 BindingSource 資料來源 IList 轉換成 。

簡單物件
Windows Forms 支援使用 Binding 型別之物件實例上的公用屬性資料系結控制項屬性。 Windows Forms 也支援系結清單型控制項,例如 ListControl 使用 時 BindingSource ,將 系結至物件實例。

陣列或集合
若要做為資料來源,清單必須實 IList 作 介面;其中一個範例是類別實例的 Array 陣列。 如需陣列的詳細資訊,請參閱 How to: Create an Array of Objects (Visual Basic)

一般而言,當您建立資料系結的物件清單時,應該使用 BindingList<T>BindingList<T> 是介面的 IBindingList 泛型版本。 介面 IBindingListIList 藉由新增雙向資料系結所需的屬性、方法和事件,來擴充 介面。

IEnumerable
Windows Forms 控制項可以系結至只支援 IEnumerable 介面的資料來源,前提是它們是透過 BindingSource 元件系結。

ADO.NET 資料物件
ADO.NET 提供一些適合系結至的資料結構。 每個都因複雜度和複雜度而異。

  • DataColumn. 是 DataColumn 的基本建置組塊 DataTable ,其中一些資料行組成資料表。 每個 DataColumn 屬性都會 DataType 決定資料行所保存的資料種類(例如,描述汽車的資料表中的汽車製造)。 您可以簡單地將控制項(例如 TextBox 控制項的 Text 屬性)系結至資料表內的資料行。

  • DataTable. DataTable是資料表的標記法,其中具有資料列和資料行,ADO.NET。 資料表包含兩個集合: DataColumn ,代表指定資料表中的資料行(最終決定可輸入該資料表的資料種類),以及 DataRow ,代表指定資料表中的資料列。 您可以將控制項複雜地系結至資料表中包含的資訊(例如將 DataGridView 控制項系結至資料表)。 不過,當您系結至 DataTable 時,您會真正系結至資料表的預設檢視。

  • DataView. DataView是可篩選或排序之單一資料表的自訂檢視。 資料檢視是複雜繫結控制項所使用的資料「快照集」。 您可以簡單系結或複雜系結至資料檢視內的資料,但請注意,您要系結至資料的固定「圖片」,而不是更新資料來源。

  • DataSet. DataSet是資料庫中資料的資料表、關聯性和條件約束集合。 您可以簡單系結或複雜系結至資料集內的資料,但請注意,您要系結至 的預設值 DataViewManagerDataSet (請參閱下一個專案符號點)。

  • DataViewManager. DataViewManager是整個 DataSet 的自訂檢視,類似于 DataView ,但包含關聯性。 DataViewSettings透過集合,您可以為指定資料表的任何檢視 DataViewManager 設定預設篩選和排序選項。

另請參閱