更新:2007 年 11 月
您可以通过(从“数据源”窗口中)将父表的主节点拖到您窗体的控件(已绑定到相关子表中的列)上来创建查找表。
术语查找表用于描述绑定到两个相关数据表的控件。这些查找控件根据第二个表中选定的值来显示第一个表中的数据。
例如,考虑一个销售数据库中的 Orders 表。Orders 表中的每条记录包括一个 CustomerID,指示下订单的客户。CustomerID 是一个外键,指向 Customers 表中的客户记录。在此情况下,您会展开“数据源”窗口中的 Orders 表,并将主节点设置为“详细信息”,将 CustomerID 列设置为使用 ComboBox(或任何其他支持查找绑定的控件),并将 Orders 节点拖到您的窗体上。然后,您会将 Customers 节点拖到被绑定到相关列的控件上 — 在此情况下,ComboBox 被绑定到 CustomerID 列。
数据绑定查找控件
打开“数据源”窗口。
说明:
查找表需要在“数据源”窗口中有两个可用的相关表或对象。有关更多信息,请参见如何:在 Windows 应用程序中显示相关数据。
展开“数据源”窗口中的节点,直到您可以看到父表及其全部的列,以及相关的子表及其全部的列。
说明:
子表节点是父表中显示为可展开子节点的节点。
通过从子表节点上的控件列表中选择“详细信息”,将子表的放置类型更改为“详细信息”。有关更多信息,请参见如何:设置从“数据源”窗口中拖动时要创建的控件。
找到与两个表相关的节点(以上示例中的 CustomerID 节点),通过从控件列表中选择“组合框”将它的放置类型更改为 ComboBox。
将主子表节点从“数据源”窗口拖到您的窗体上。
窗体上出现数据绑定控件(带有说明性标签)和一个工具条(BindingNavigator)。组件栏中出现 DataSet、TableAdapter、BindingSource 和 BindingNavigator。
现在将主父表节点从“数据源”窗口直接拖到查找控件(ComboBox)上。
现在已建立查找绑定。有关该控件上设置的特定属性,请参见下表。
属性
设置说明
DataSource
Visual Studio 将此属性设置为您拖到控件上的表所创建的 BindingSource(相对于创建该控件时所创建的 BindingSource)。
如果您需要进行调整,那么将此设置为带有您要显示的列的表的 BindingSource。
DisplayMember
对于您拖动到控件上的表,则 Visual Studio 将此属性设置为该主键后的具有字符串数据类型的第一列。
如果您需要进行调整,那么可以将它设置为希望显示的列名称。
ValueMember
Visual Studio 将此属性设置为参与主键的第一列,或表中的第一列(如果未定义任何键)。
如果您需要进行调整,请将它设置为包含希望显示的列的表中的主键。
SelectedValue
Visual Studio 将此属性设置为自“数据源”窗口拖放的原始列。
如果您需要进行调整,那么可以将它设置为相关表中的外键列。
请参见
任务
如何:为 Windows 窗体 ComboBox 控件、ListBox 控件或 CheckedListBox 控件创建查找表
如何:使用 Windows 窗体 BindingSource 组件创建查找表