2

我有一个 SQL 数据库,其中两个表具有 PK 关系。tblProject.contractorID 是外键列,tblCompany.contractorID 是主键列。

sql

我创建了一个 Windows 窗体,将 tblProject.contractorID 标记为 ComboBox,将 tblProject 标记为 Details,然后将 tblProject 拖放到窗体中。现在,我有了 tblProject 的标签、文本框和组合框以及相关的绑定导航器。(ihaleDataSet、tblProjectBindingSource、tblProjectTableAdapter、tableAdapterManager 和 tblProjectBindingNavigator)

2 当我运行项目并单击contractorID ComboBox 时,我想显示tblCompany.shortName 值。选择其中一个值后,我想将 tblCompany.contractorID 值写入 tblProject.ContractorID 并相应记录。

我尝试了数据绑定模式 (DataSource= tblCompanyBindingSource, DisplayMember = "shortName", ValueMember = "companyID")

在此处输入图像描述

        // 
        // contractorIDComboBox
        // 
        this.contractorIDComboBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.tblProjectBindingSource, "contractorID", true));
        this.contractorIDComboBox.DataSource = this.tblCompanyBindingSource;
        this.contractorIDComboBox.DisplayMember = "shortName";
        this.contractorIDComboBox.FormattingEnabled = true;
        this.contractorIDComboBox.Location = new System.Drawing.Point(181, 100);
        this.contractorIDComboBox.Name = "contractorIDComboBox";
        this.contractorIDComboBox.Size = new System.Drawing.Size(121, 21);
        this.contractorIDComboBox.TabIndex = 8;
        this.contractorIDComboBox.ValueMember = "companyID";

这没用。我该怎么做才能实现我的目标?

4

1 回答 1

1

我已经解决了这个问题。只需将第一行中的“Text”替换为“SelectedValue”就足够了。

更多信息在这里

于 2013-11-15T08:48:49.773 回答