在 ADO.NET 資料集中瀏覽多個相關表(4)

來源:互聯網
上載者:User
ado|資料 顯示相關記錄
  現在您已經有了選定客戶的相關記錄(儲存在資料行數組中),您可以顯示它們以便與使用者進行互動。應用程式將逐一訪問 GetChildRows 方法返回的資料行數組中的資料,並將每個相關記錄的“訂單 ID”作為單獨的項添加到列表框中。
  
  注意:雖然此樣本將逐一訪問相關資料行數組中的資料,但列表框可能已經使用屬性視窗,通過 DataSource 屬性、DataMember 屬性和 ValueMember 屬性被綁定到相關的記錄。
  在列表框中顯示相關記錄
  
  在 Solution Explorer(方案總管)中,按右鍵 Form1 並從捷徑功能表中選擇 View Code(查看代碼)。
  在前面步驟中建立的組合框的 SelectedIndexChanged 事件處理常式中,將以下代碼添加到處理常式中已有代碼之下:
  
  ' Visual Basic
  ' 當更改選定客戶時,清除訂單列表。
  lbOrders.Items.Clear()
  rtbDetails.Text = ""
  ' 將每個相關訂單的訂單 ID 添加到列表框中。
  Dim drOrder As DataRow
  For Each drOrder In draOrders
  lbOrders.Items.Add(drOrder("OrderID"))
  Next
  
  // C#
  // 當更改選定客戶時,清除訂單列表。
  lbOrders.Items.Clear();
  rtbDetails.Text = "";
  
  // 將每個相關訂單的訂單 ID 添加到列表框中。
  foreach(DataRow drOrder in draOrders)
  {
  lbOrders.Items.Add(drOrder["OrderID"]);
  }
  
  
  
  
  儲存項目。
  運行應用程式。
  列表框中將顯示訂單列表。在組合框中選擇另一個客戶,訂單列表將被更新。
  
  關閉表單。
  在三個或更多表中瀏覽相關記錄
  瀏覽三個或更多表與處理兩個表一樣簡單。要瞭解如何處理兩個以上的表,請將訂單明細表和產品表添加到 dsNorthwind 資料集中。在列表框中選定一個訂單後,該訂單的詳細資料即顯示在 RTF 文字框中。
  
  為了滿足約束規則,您需要刪除現有的資料關係,將來再重新建立。
  
  暫時刪除 dsNorthwind 資料集中的 DataRelation
  
  在 Solution Explorer(方案總管)中,雙擊 dsNorthwind.xsd 以在 XML Designer(XML 設計器)中開啟它。
  選擇現有的 CustomersOrders 關係並將其刪除。
  儲存項目。
  現在您需要將另外兩個表添加到現有資料集中,並建立新的 DataRelation 對象以將所有表連在一起。
  
  將訂單明細表和產品表添加到 dsNorthwind 資料集中
  
  在 Solution Explorer(方案總管)中,按右鍵 Form1 並從捷徑功能表中選擇 View Designer(視圖設計器)。
  將“訂單明細”表從 Server Explorer(伺服器總管)中拖到表單上。元件匣中將顯示一個新的資料配接器。
  選擇該新的資料配接器並將其 Name 屬性設定為 daOrderDetails。
  將“產品”表從 Server Explorer(伺服器總管)中拖到表單上。元件匣中將顯示一個新的資料配接器。
  選擇該新的資料配接器並將其 Name 屬性設定為 daProducts。
  新表只是被添加到了表單上,因此每次添加額外的表時,都必須重建資料集。
  
  重建 dsNorthwind 資料集
  
  從 Data(資料)菜單中,選擇 Generate Dataset(產生資料集)。
  提示:將游標移到表單上即可使用 Data(資料)菜單。
  單擊 Existing(現有),然後選擇 dsNorthwind 資料集。
  選擇所有四個表(客戶表、訂單表、訂單明細表和產品表)。
  清除 Add this dataset to the designer(將此資料集添加到設計器)複選框,然後單擊 OK(確定)。將產生帶有附加表的資料集。
  注意:如果出現一個對話方塊,其中說明“The file has been modified outside of the source editor. Do you want to reload it?”(檔案已在源編輯器之外被修改。是否要重新載入?),請單擊 Yes(是)。
  請記住,產生資料集並不能自動建立資料集中各表之間的關係。

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。