演练:在 Windows 窗体上显示相关数据

 

发布时间: 2016年7月

在很多应用程序方案中,你需要使用来自多个表中的数据(通常是相关表中的数据)。  也就是说,你需要使用父子关系。  例如,你会需要创建一个窗体,在该窗体中选择客户记录的同时显示该客户的订单。  通过将子 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”**表。

创建控件以显示 Customers 表中的数据

创建控件以显示客户数据(父记录)

  1. 在**“数据源”窗口中,选择“Customers”**表,然后单击下拉箭头。

  2. 从此菜单中选择**“详细信息”**。

  3. 将主**“Customers”节点从“数据源”窗口拖到“Form1”**的顶部。

    带有描述性标签的数据绑定控件将显示在窗体上,同时还显示一个工具条 (BindingNavigator),用于在记录间进行导航。  组件栏中出现 NorthwindDataSetCustomersTableAdapterBindingSourceBindingNavigator。  

创建控件以显示 Orders 表中的数据

显示关系的数据源窗口

创建控件以显示每个客户的订单(子记录)

  • 在**“数据源”窗口中,展开“Customers”节点并选择“Customers”表中的最后一列(为可展开的“Orders”节点),然后将其拖到“Form1”**的底部。

    DataGridView 被添加到窗体,且新的 BindingSource (OrdersBindingSource) 和 TableAdapter (OrdersTableAdapter) 添加到组件栏。

    备注

    打开属性窗口,然后选择“OrdersBindingSource”。  检查 DataSourceDataMember 属性以查看配置绑定以显示相关记录的方式。  将 DataSource 设置为 CustomersBindingSource(父表的 BindingSource),而不是 Orders 表。  将 DataMember 属性设置为 FK_Orders_Customers(它是使表联系在一起的 DataRelation 对象的名称)。  

测试应用程序

测试应用程序

  1. 按 F5 运行该应用程序。

  2. 使用**“CustomersBindingNavigator”**选择不同的客户以验证 DataGridView 中是否显示正确的订单。

后续步骤

根据应用程序的要求,在创建了主/详细信息窗体后,还需要执行一些步骤。  可对本演练所进行的一项增强是:  

请参阅

数据演练
“数据源”窗口
在 Visual Studio 中将 Windows 窗体控件绑定到数据
数据源概述
TableAdapter 概述
如何:在 Windows 窗体应用程序中显示相关数据
BindingSource 组件概述
BindingNavigator 控件概述(Windows 窗体)