Share via


HOW TO:使用 Windows Form BindingSource 元件建立查閱資料表

更新:2007 年 11 月

查詢資料表是具有資料行的資料表,此資料行會顯示相關資料表中資料錄的資料。在下列程序中,ComboBox 控制項會用來顯示欄位,此欄位具有從父資料表到子資料表的外部索引鍵關聯性 (Relationship)。

若要協助視覺化這兩個資料表和這種關聯性,這裡有父資料表和子資料表的範例:

CustomersTable (父資料表)

CustomerID

CustomerName

712

Paul Koch

713

Tamara Johnston

OrdersTable (子資料表)

OrderID

OrderDate

CustomerID

903

2004 年 2 月 12 日

712

904

2004 年 2 月 13 日

713

在這個案例中,其中一個 CustomersTable 資料表會儲存您希望顯示和儲存的實質資訊。但是為了節省空間,資料表會捨棄增加易讀性的資料。另一個資料表 OrdersTable 只包含哪個客戶 ID 編號與哪個訂單日期和訂單 ID 相等的外觀相關資訊。並未提及客戶名稱。

ComboBox 控制項 (Windows Form) 控制項上設定四個重要的屬性,以建立查詢資料表。

  • DataSource 屬性包含這個資料表的名稱。

  • DisplayMember 屬性包含要顯示為控制項文字 (客戶名稱) 的該資料表的資料行。

  • ValueMember 屬性包含該資料表中具有儲存資訊 (父資料表中的 ID 編號) 的資料行。

  • SelectedValue 屬性會依據 ValueMember 提供子資料表的查詢值。

下列程序會示範如何將表單配置成查詢資料表,並繫結資料至查詢資料表上的控制項。若要成功完成程序,如先前所提,您必須擁有具有父資料表和子資料表 (兩者之間要有外部索引鍵關聯性) 的資料來源。

若要建立使用者介面

  1. 從 [工具箱] 將 ComboBox 控制項拖曳到表單上。

    此控制項會顯示父資料表的資料行。

  2. 拖曳其他控制項以顯示子資料表的詳細資料。資料表中的資料格式應該決定您所選擇的控制項。如需詳細資訊,請參閱 依功能區分 Windows Form 控制項

  3. BindingNavigator 控制項拖曳至表單上,這樣能讓您巡覽子資料表中的資料。

若要連接至資料並繫結至控制項

  1. 選取 ComboBox,並按一下 [智慧工作提示] 圖像,以顯示 [智慧工作提示] 對話方塊。

  2. 選取 [使用資料繫結項目]。

  3. 按一下 [資料來源] 下拉式清單方塊旁邊的箭號。如果資料來源之前已經為專案或表單設定過,該資料來源便會出現;否則,請完成下列步驟 (此範例使用 Northwind 範例資料庫的 Customers 和 Orders 資料表,並使用括號加以參考)。

    1. 按一下 [加入專案資料來源] 以連接至資料並建立資料來源。

    2. 在 [資料來源組態精靈] 歡迎畫面中按 [下一步]。

    3. 選取 [選擇資料來源類型] 頁面上的 [資料庫]。

    4. 從 [選擇資料連接] 頁上的可用連接清單中,選取資料連接。如果沒有您要的資料連接,請選取 [新增連接],建立新的資料連接。如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)

    5. 按一下 [是,將連接儲存],將連接字串儲存在應用程式組態檔中。

    6. 選取要用於應用程式的資料庫物件。在這種情況下,請選取具有外部索引鍵關聯性的父資料表和子資料表 (例如,Customers 和 Orders)。

    7. 需要時,請取代預設的資料集名稱。

    8. 按一下 [完成]。

  4. 在 [顯示成員] 下拉式清單方塊中,選取要在下拉式方塊中顯示的資料行名稱 (例如,ContactName)。

  5. 在 [值成員] 下拉式清單方塊中,選取要在子資料表中執行查詢作業的資料行 (例如,CustomerID)。

  6. 在 [選取的值] 下拉式清單方塊中,巡覽至 [專案資料來源] 和剛建立的資料集,此資料集包含父資料表與子資料表。選取子資料表的相同屬性,該子資料表是父資料表的「值成員」(例如,Orders.CustomerID)。將會建立適當的 BindingSource、資料集和資料表配接器 (Adapter) 元件,並將它們加入至表單。

  7. 繫結 BindingNavigator 控制項至子資料表的 BindingSource (例如,OrdersBindingSource)。

  8. ComboBoxBindingNavigator 控制項以外的其他控制項繫結至詳細資料欄位,這些欄位是來自您要顯示的子資料表的 BindingSource (例如,OrdersBindingSource)。

請參閱

參考

BindingSource

其他資源

BindingSource 元件

ComboBox 控制項 (Windows Form)

顯示 Windows 應用程式之表單上的資料