共用方式為


逐步解說:顯示 Windows Form 上的相關資料

 

在許多應用程式情節中,您會想要使用來自多張資料表的資料 (通常是相關資料表中的資料)。 亦即,您想要使用父子式關聯性。 例如,您可能想要建立表單,而在表單中,選取客戶記錄會顯示該客戶的訂單。 在表單上顯示相關記錄的方式是將子 BindingSourceDataSource 屬性設定為父 BindingSource (非子資料表),以及將子 BindingSourceDataMember 屬性設定為將父資料表與子資料表繫結在一起的資料關聯。

這個逐步解說中所述的工作包括:

  • 建立 [Windows 應用程式] 專案。

  • 使用資料來源組態精靈,根據 Northwind 資料庫中的 Customers 和 Orders 資料表建立和設定資料集。

  • 加入控制項,以顯示 Customers 資料表中的資料。

  • 加入控制項,以根據選取的 Customer 顯示 Orders。

  • 選取不同的客戶,並驗證是否針對所選客戶顯示正確的訂單,藉以測試應用程式。

必要條件

若要完成這個逐步解說,您需要:

建立專案

第一個步驟是建立 [Windows 應用程式]。

建立 Windows 應用程式專案

  1. 從 [檔案] 功能表中,建立新專案。

  2. 將專案命名為 RelatedDataWalkthrough

  3. 選取 [Windows 應用程式],然後按一下 [確定]。 如需詳細資訊,請參閱使用 .NET Framework 開發用戶端應用程式

    隨即建立 [RelatedDataWalkthrough] 專案,並將它加入至 [方案總管]。

建立資料來源

此步驟根據 Northwind 範例資料庫中的 Customers 和 Orders 資料表來建立資料集。

若要建立資料來源

  1. 按一下 [資料] 功能表上的 [顯示資料來源]。

  2. 在 [資料來源] 視窗中,選取 [加入新資料來源] 啟動 [資料來源組態精靈]。

  3. 請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。

  4. 在 [選擇資料連接] 頁面上,執行下列其中一項:

    • 如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。

      -或-

    • 選取 [新增連接],啟動 [新增/修改連接] 對話方塊。

  5. 如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。

  6. 在 [將連接字串儲存到應用程式組態檔] 頁面上,按 [下一步]。

  7. 在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。

  8. 選取 [Customers] 和 [Orders] 資料表,再按一下 [完成]。

    [NorthwindDataSet] 會加入專案中,且 [Customers] 資料表會出現在 [資料來源] 視窗中。

建立控制項以顯示客戶資料表的資料

若要建立控制項以顯示客戶資料 (父資料錄)

  1. 在 [資料來源] 視窗中,選取 [Customers] 資料表,再按一下下拉箭號。

  2. 從功能表中選擇 [詳細資料]。

  3. 將 [Customers] 主節點從 [資料來源] 視窗中拖曳至 [Form1] 頂端。

    會在表單上顯示具有描述性標籤的資料繫結控制項,以及巡覽記錄的工具區域 (BindingNavigator)。 NorthwindDataSetCustomersTableAdapterBindingSourceBindingNavigator 則會出現在元件匣中。

建立控制項以顯示訂單資料表的資料

顯示關聯的資料來源視窗

若要建立控制項以顯示每位客戶的訂單 (子資料錄)

  • 在 [資料來源] 視窗中,展開 [Customers] 節點,並選取 [Customers] 資料表的最後一個資料行 (它是可展開的 [Orders]節點),然後將它拖曳至 [Form1] 底部。

    DataGridView 隨即加入至表單中,而且新的 BindingSource (OrdersBindingSource) 和 TableAdapter (OrdersTableAdapter)也會加入至元件匣。

    System_CAPS_note注意事項

    開啟屬性視窗,並選取 [OrdersBindingSource]。檢查 DataSourceDataMember 屬性,查看如何設定繫結以顯示相關記錄。DataSource 設定為 CustomersBindingSource (父資料表的 BindingSource),而不是 Orders 資料表。DataMember 屬性設定為 FK_Orders_Customers,它是使這些資料表互相產生關聯的 DataRelation 物件名稱。

測試應用程式

若要測試應用程式

  1. 按 F5 執行應用程式。

  2. 使用 CustomersBindingNavigator 選取不同的客戶,以確認 DataGridView 中顯示正確的訂單。

後續步驟

根據應用程式的需求而定,在建立主從式 (Master-Detail) 表單後,可能會有幾個想要執行的步驟。 其中一個您可以對這個逐步解說進行加強的部分是:

請參閱

資料逐步解說
資料來源視窗
將 Windows Form 控制項繫結至 Visual Studio 中的資料
資料來源概觀
TableAdapter 概觀
如何:在 Windows Form 應用程式中顯示相關的資料
BindingSource 元件概觀
BindingNavigator 控制項概觀 (Windows Form)