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

在很多应用程序方案中,您需要使用来自多个表中的数据(通常是相关表中的数据)。也就是说,您需要使用父/子关系。例如,您会需要创建一个窗体,在该窗体中选择客户记录的同时显示该客户的订单。通过将子 BindingSourceDataSource 属性设置为父 BindingSource(不是子表),并将子 BindingSourceDataMember 属性设置为联系父表和子表的数据关系,可在窗体中显示相关记录。

本演练涉及以下任务:

  • 创建一个**“Windows 应用程序”**项目。

  • 使用 数据源配置向导,基于 Northwind 数据库中的 Customers 和 Orders 表在应用程序中创建和配置数据集。

  • 添加控件以显示 Customers 表中的数据。

  • 添加控件以基于所选的 Customer 显示 Orders。

  • 通过选择不同的客户并验证是否能正确显示所选客户的订单来测试应用程序。

系统必备

若要完成本演练,您需要:

创建项目

第一步是创建**“Windows 应用程序”**。

创建 Windows 应用程序项目

  1. 从**“文件”**菜单创建一个新的项目。

  2. 将项目命名为 RelatedDataWalkthrough。

  3. 选择**“Windows 应用程序”,然后单击“确定”**。有关更多信息,请参见 开发客户端应用程序

    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”**选择不同的 Customer 以验证 DataGridView 中是否显示正确的订单。

后续步骤

根据应用程序的要求,在创建了主/详细信息窗体后,还需要执行一些步骤。您可以通过以下操作来增强此演练的效果:

请参见

任务

如何:在 Windows 窗体应用程序中显示相关数据

参考

“数据源”窗口

BindingSource 组件概述

BindingNavigator 控件概述(Windows 窗体)

概念

Visual Studio 2012 中针对数据应用程序开发的新增功能

在 Visual Studio 中将 Windows 窗体控件绑定到数据

数据源概述

TableAdapter 概述

其他资源

数据演练