要演示这一功能,需要给应用程序添加一些代码,以返回组合框中选定客户的所有订单(子行)。更改组
合框中的选定客户会引发 ComboBox.SelectedIndexChanged 事件,列表框中将填充该选定客户的每个
订单的订单 ID。
您可以根据组合框中选定的客户,调用 GetChildRows 方法。订单表中的所有相关记录都将分配给名为
draOrders 的数据行数组。
注意:下一节将添加在列表框中显示相关订单列表的功能。为确认数组中确实包含相关
的记录,数组的长度(即选定客户的订单总数)将显示为窗体的标题。
创建获取选定客户的订单的事件处理程序
1. 在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View
Designer(视图设计器)。
2. 双击组合框为 SelectedIndexChanged 事件创建事件处理程序。
3. 添加以下代码:
4. ' Visual Basic
5. Private Sub cbCustomers_SelectedIndexChanged _
6. (ByVal sender As System.Object, ByVal e As System.EventArgs) _
7. Handles cbCustomers.SelectedIndexChanged
8. ' 声明一个用来保存选定客户的客户 ID 的字符串。
9. Dim SelectedCustomerID As String
10. SelectedCustomerID = cbCustomers.SelectedValue.ToString()
11. ' 声明一个用来保存选定客户的记录的数据行。
12. Dim drSelectedCustomer As DataRow
13. drSelectedCustomer = _
14. DsNorthwind1.Customers.FindByCustomerID _
15. (SelectedCustomerID)
16.
17. ' 声明一个用来保存相关记录的数据行数组。
18. Dim draOrders As DataRow()
19. draOrders = drSelectedCustomer.GetChildRows("CustomersOrders")
20. ' 在窗体标题中显示数组的长度(订单数)