数据绑定组合框有时返回的值与作为显示成员选择的值不同

本文关键字:显示 成员 选择 返回 组合 数据绑定 | 更新日期: 2023-09-27 18:03:48

这是所有与combox相关的代码。

string SelectedDealer = Dealers.SelectedValue.ToString();
this.Dealers.DataSource = this.dealersBindingSource;
this.Dealers.DisplayMember = "DealerName";
this.Dealers.ValueMember = "DealerName";

Dealers表只有两列。发生的情况是,有时(一次或两次/应用程序运行)

Dealers.SelectedValue.ToString();

返回另一个数据成员的值,比如Dealer-Id;对,这很奇怪。

数据绑定组合框有时返回的值与作为显示成员选择的值不同

尝试改变行顺序,谁知道,它可能会有所帮助:)如果ValueMember之前没有设置,那么在设置其数据源后,Combobox可能会设置一些默认值为ValueMember。

this.Dealers.DisplayMember = "DealerName";
this.Dealers.ValueMember = "DealerName";
this.Dealers.DataSource = this.dealersBindingSource;
string SelectedDealer = Dealers.SelectedValue.ToString();

还检查是否有东西实际上是选择在你的组合框:SelectedIndex的组合框不应该是-1 (SelectedValue然后可能是未指定的,虽然它应该抛出NullPointerException)