组合框数据绑定示例

更新:2007 年 11 月

本示例演示如何将数据绑定到 ComboBox 控件和 DataGridView 控件。

获取示例及其安装说明

  • 执行下列一项或多项操作:

    • 在“帮助”菜单上,单击“示例”。

      自述文件将显示有关示例的信息。

    • 访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。

    • 在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。

有关更多信息,请参见定位示例文件

安全说明:

此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。

运行此示例

  • 按 F5。

要求

此示例需要 Northwind 示例数据库。有关更多信息,请参见如何:安装用于示例的数据库组件并进行疑难解答

演示

此代码演示如何将六种不同类型的数据源绑定到 ComboBox 控件。绑定数据的来源:

加载主窗体时,会使用简单的“SQL Select”语句将 Products 表从 Northwind 数据库检索到 DataSet 中。此时还会创建 DataView,提供 ProductName 列的排序后的视图。使用 TableAdapter 和 BindingSource 将 Products 表加载到另一个 DataSet 中。

接着用户可以通过绑定到另一个颜色数组、形状数组列表、包含按结构划分的销售部门的高级数组列表、驻留在数据集或排序数据视图中的产品表来填充组合框控件。如果用户绑定到数据集、数据视图或销售部门的高级数组列表,那么从组合框选择一个项时,也会显示与该项相关联的值。如果用户绑定到数据连接器,则组合框与 datagridview 同步。更改组合框的值会将 datagridview 移到同一记录。在网格中滚动数据集或使用导航工具栏可以更新组合框。

主窗体包含组合框控件、加载数据的按钮控件,以及显示数据源和选定值的两个标签控件和一个网格。ArrayListDataSetDataView 使您可以将值与组合框控件中显示的每一项关联。例如,如果用户从绑定到组合框的产品表中选择了产品项 Chai,Chai 就显示为选定项,但与其相关联的 ProductId 通过 SelectedValue 属性也可用。ValueMember 属性使您可以选择包含关联值的项。DisplayMember 属性使您可以选择在组合框控件中显示的项。

创建此示例

通过将组件拖到窗体上,然后使用智能标记和“属性”窗口中的设置,创建窗体的大部分内容。下面总结如何从头创建窗体的 DataGridView 部分:

  1. 创建新的“Windows 应用程序”项目。

  2. 打开 Form1,选择“数据源”窗口。也可以用“数据”菜单激活该窗口。

  3. 在“数据源”窗口中,单击“添加新数据源”。

  4. 在“数据源配置向导”中,选择“数据库”作为数据源类型。

  5. 对于数据连接,选择装有 Northwind 的服务器。

  6. 下列步骤使您可以在强类型应用程序设置文件中保存连接字符串。

    1. 在“选择数据库对象”中,选择 Products 表。

    2. 单击“完成”为 Northwind 数据库创建类型化数据集。可以在“数据源”窗口中查看结果。

  7. 从“数据源”窗口将 Products 表拖到 Form1。

  8. 结果,您将看到绑定了数据的 DataGridViewBindingNavigator 控件会添加到窗体设计器图面。您还将看到 NorthwindDataSet、ProductsTableAdapter 和 ProductsBindingSource 被添加到组件栏。

将数据加载到窗体内

在该示例中,不使用用户提供的任何参数为窗体加载数据。通过使用“数据集设计器”,您能够利用可重用的 DataAdapter 来填充 dsProducts2。

从“数据源”窗口拖动“Employees”表时,Visual Studio 会自动放入代码,以在 Form.Load 事件中调用对 TableAdapter 的默认查询。在此示例中,这个代码被移到 btnDC Click 方法:

' Fill the Lookup Tables
Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)

请参见

任务

如何:安装用于示例的数据库组件并进行疑难解答

如何:将 Windows 窗体 ComboBox 控件或 ListBox 控件绑定到数据

概念

Windows 窗体支持的数据源

参考

ComboBox

DataSource

ArrayList

DataTable

DataView