Northwind Traders 畫布應用程式的總覽。
瞭解用於管理您 在環境中安裝 的 Northwind Traders 資料庫中之關係資料的畫布應用程式。 然後遵循後續主題中的逐步指示,從頭開始組建此應用程式,從而取得處理關係資料的實際操作經驗。
在本主題中,發現:
- 應用程式使用者如何顯示和管理應用程式中的關係資料。
- 應用程式的資料磁碟機類型。
- 如何建立這些資料類型之間的關聯。
在單一畫面中,應用程式使用者可以顯示、更新、建立及刪除訂單。
探索使用者介面
訂單資源庫
在應用程式的左邊緣,資源庫會顯示訂單清單,包括訂單編號、狀態、客戶名稱以及訂單的總成本。 使用者可以透過捲動清單來尋找訂單,然後透過選取訂單箭頭來顯示該訂單的詳細資訊。 其他資訊:建立訂單資源庫。
摘要表單
在右上角,表單會匯總使用者在訂單資源庫中所選取的訂單。 摘要包含很多與該資源庫相同的資訊,但是摘要也會顯示建立與支付訂單的日期,以及管理訂單的員工姓名與圖片。 使用者可以選取靠近標題列右邊界的圖示變更表單中的資料、儲存變更、取消或刪除訂單。 其他資訊:建立摘要表單。
詳細資源庫
在右下角,另一個資源庫會顯示所選訂單所包含的產品資訊和數量。 此資源庫中的每個項目稱為訂單詳細資料。 應用程式使用者可以使用資源庫中和下的控制項,在該資源庫中新增及刪除任何項目。 其他資訊:建立詳細資源庫。
探索資料來源
若要建立此應用程式,您將會顯示五個資料表以及一個選項的資料。 事實上,此應用程式的大部分區域都會顯示多個資料表中的資料。 例如,訂單資源庫包含下列資訊:
- 訂單編號是訂單資料表中的欄位。
- 狀態是訂單資料表中的另一個欄位,即訂單狀態選項中的一個選項。
- 客戶名稱是客戶資料表中的欄位。
- 總成本是根據訂單詳細資料資料表中的資料計算。
摘要包含某些與訂單清單相同的資訊,但它也包含管理訂單的員工姓名和圖片。 該資訊是從員工資料表的欄位中擷取出來的。 詳細資源庫會顯示訂單詳細資料資料表中的記錄,而這些詳細資料中的每個產品都是訂單產品資料表中的一筆記錄。
探索關聯
您可以在相同的資源庫或表單中顯示不同來源 (例如資料表) 的資料,因為這些資料表具有在資料庫中為您建立的關聯。
多對一關聯
例如,有關每個訂單的客戶和員工的資訊都位於客戶和員工資料表中。 因此,訂單資料表對這些資料表有多對一的關聯,因為有許多訂單,每個訂單只能由一位客戶下單,並且只能由一位員工管理。
每個訂單也有一個或多個行項目表示訂單所包含的產品和其數量。 每個明細項目都是訂單詳細資料資料表中的一筆記錄 ,它會從訂單產品資料表格中擷取有關每個產品的資訊。 每個詳細資料只會標識一種產品,但是每個產品可以有多個詳細資料。 因此,訂單詳細資料資料表與訂單產品資料表具有多對一關聯。
一對多關聯
每個訂單都可以包含多個行項目,但是每個行項目只能與一個訂單相關。 因此,訂單資料表與訂單詳細資料資料表具有一對多關聯。
關聯的點標記法
若要根據資料表間的關聯來顯示資料,您可以使用 Dot 屬性選取器穿梭一個資料表到另一個資料表的關聯。 例如,訂單資料表中的每筆記錄都會從客戶資料表中擷取資訊,以便訂單資源庫可以顯示客戶名稱。 在該資源庫中,您可以透過將標籤的 Text 屬性設定為此運算式來設定此行為:ThisItem.Customer.Company
ThisItem 指定訂單資料表中的記錄,並從客戶資料表中擷取有關下單客戶的資訊。 在此案例中,運算式指定會顯示客戶的公司名稱。 不過,該客戶的整個記錄都會被拉出,因此您可以只要簡單地顯示該客戶的電子郵件地址。
從一個資料表穿梭到另一個資料表的另一個範例,是您可以指定資源庫應根據使用者在另一個資源庫中選擇的記錄,在一個資料表中顯示記錄,且該記錄位於另一個資料表中。 若要顯示訂單詳細資料,請將詳細資源庫的 Items 屬性設定為此運算式:Gallery1.Selected.'Order Details'
在此案例中,Gallery1.Selected 指定訂單資料表中的記錄,就像先前範例中的 ThisItem 一樣。 但是,此運算式並不會只會拉出一個記錄,就像先前的運算式一樣。 相反地,它會提取整個記錄資料表以顯示每個產品的名稱和單位成本 (如訂單產品資料表中所示) 和數量 (如訂單詳細資料資料表中所示)。
親自動手做
您可以依照逐步指示,建立本 Northwind 的畫布應用程式。 指令分為三個部分:
如果您要提前跳過,解決方案包含每個部分的起始點應用程式。 在應用程式清單中,尋找 Northwind Orders (Canvas) - Begin Part 1,依此類推。