資料繫結和 Windows Form
更新:2007 年 11 月
在 Windows Form 之中,您不僅可以繫結至傳統的資料來源,更可繫結至幾乎任何含有資料的結構。您可以繫結至執行階段計算出來的值之陣列、從檔案讀取,或是從其他控制項的值中衍生出來。
此外,您可以將任何控制項的任何屬性與資料來源繫結。在傳統資料繫結 (Data Binding) 中,一般是將顯示屬性 (例如,TextBox 控制項的 Text 屬性) 與資料來源繫結。使用 .NET Framework 時,您更可選擇透過繫結設定其他屬性。您可以使用繫結來執行下列工作:
設定影像控制項的圖形。
設定一或多個控制項的背景色彩。
設定控制項的大小。
基本上,資料繫結是一種可自動在表單上的任何控制項上,設定任何可在執行階段存取的屬性的方式。
資料繫結的類型
Windows Form 可利用兩種類型的資料繫結:簡單繫結和複雜繫結。各有不同的優點。
資料繫結的類型 |
說明 |
---|---|
簡單資料繫結 |
一個控制項與單一資料項目 (例如資料集資料表內資料行中的值) 繫結的能力。這類的資料繫結常見於 TextBox 控制項或 Label 控制項等,也就是通常只會顯示單一值的控制項。事實上,控制項的任何屬性,都可繫結至資料庫的某一欄位。在 Visual Studio 中對此功能有相當廣泛的支援。 |
複雜資料繫結 |
一個控制項與一個以上資料項目繫結的能力,通常是指與資料庫中一筆以上的資料錄繫結。複雜繫結也稱為清單架構繫結。例如 DataGridView、ListBox 和 ComboBox 就是屬於支援複雜繫結的控制項。如需複雜資料繫結的範例,請參閱 HOW TO:將 Windows Form ComboBox 或 ListBox 控制項繫結至資料。 |
BindingSource 元件
為了簡化資料繫結的程序,Windows Form 允許您將資料來源繫結至 BindingSource 元件,然後再將控制項繫結至 BindingSource。在簡單繫結或複雜繫結的案例中,您都可以使用 BindingSource。在這兩種情況中,BindingSource 扮演資料來源和繫結控制項之間的媒介,提供了變更告知、貨幣管理和其他服務。
使用資料繫結的常見案例
幾乎每一種商業應用程式都或多或少地使用了讀取自資料來源的資訊,通常是透過資料繫結的方式。下列清單中列出了數個利用資料繫結做為資料展示和管理方法最常見的案例。
案例 |
說明 |
---|---|
報表 |
報表提供一種彈性的方法,在列印文件上整理呈現您的資料。建立報告並將資料來源的選取內容列印至螢幕或印表機,是很常見的事。常見的報表包含清單、發票和摘要。項目通常會被格式化成清單的行,次項目則整理到各清單項目之下,但是您應該選擇最適合資料的配置方式。 |
資料項目 |
輸入大量相關資料,或提示使用者輸入資訊時常見的方法,是透過資料項目表單。使用者可利用文字方塊、選項按鈕、下拉式清單和核取方塊,以輸入資訊或選取選項。接著資訊被送出並儲存在一個資料庫中,這個資料庫的結構則是根據所輸入的資訊建立的。 |
主從式關係 |
主從式的應用程式,是一種可以查詢關聯性資料的格式。明確地說,就是兩個資料表之間具有連接兩者的關係,以一般的商務範例而言,可以用 "Customers" 資料表和 "Orders" 資料表,以及將客戶和其個別訂單連結起來的關係來加以說明。如需使用兩個 Windows Form DataGridView 控制項來建立主從式應用程式的詳細資訊,請參閱 HOW TO:使用兩個 Windows Form DataGridView 控制項建立主從式表單。 |
查閱資料表 |
資料表查閱是另一種常見的展示和管理資料的案例。通常會使用 ComboBox 控制項 (做為較大資料顯示的一部分) 來顯示和管理資料。關鍵在於 ComboBox 控制項中顯示的資料,與寫入資料庫中的資料不同。例如,若您使用一個 ComboBox 控制項來顯示可自雜貨店買到的項目,則您可能想看到產品的名稱 (麵包、牛奶、蛋)。然而,為了簡化資料庫中的資訊擷取,以及資料庫的正規化,您可能會將某種順序的特定項目的資訊,以項目編號儲存 (#501、#603 等)。因此,在您表單的 ComboBox 控制項中雜貨項目的「易記名稱」,和按順序呈現的相關項目編號之間,即存在一種隱含的連接。這就是資料表查閱的本質。 |
請參閱
工作
HOW TO:將 Windows Form DataGrid 控制項繫結至資料來源