【发布时间】:2017-02-27 08:13:15
【问题描述】:
我正在开发 C# Windows 窗体应用程序,但我的 ComboBox DataBinding 无法正常工作。
这就是数据源的填充方式。
private void frmSODetails_Load(object sender, EventArgs e)
{
int soid = soSelected.soid;
this.salesordersTableAdapter.Fill(this.dsSalesOrderDetails.salesorders, soid);
this.solineitemsTableAdapter.Fill(this.dsSalesOrderDetails.solineitems, soid);
this.companiesTableAdapter.Fill(this.dsSalesOrderDetails.companies);
this.Cursor = Cursors.Default;
}
这就是我执行 DataBindings 的方式。 选择数据源 (companiesBindingSource) 选择显示成员(公司名称) 选择值成员 (seq) 选择选定值(salesordersBindingSource 中的列组合) 为了确保(选定值:comp)和(值成员:seq)匹配,我使用了预览数据
比较:1 Seq 1 的 compname 值应为 Ampleon
但 ComboBox 不显示 Ampleon,它显示的是公司列表中的第一项。
编辑:我删除了整个表单并创建了一个新表单,它现在可以正常工作。我不确定第一个表格出了什么问题。我只是按照相同的步骤操作。
【问题讨论】:
-
您是否尝试从 SalesOrders 表中将 ValueMember 和 SelectedValue 设置为
comp? -
我无法从 SalesOrders 表中将 ValueMember 设置为
comp,因为我的 ComboBox 的 DataSource 是companiesBindingSource。我只能从绑定源中可用的列中进行选择。
标签: c# winforms data-binding combobox