私は、コントロールがバインディングソースを介して単純なDTOにバインドされたフォームを持っています。一つの特定のコントロールがドロップダウンリストで、結合である:データが保存された後、コンボボックスが正常に動作しない
this.cboCustomer.DataBindings.Add(new Binding("SelectedValue", this.bindingSource, "CustomerId", true, DataSourceUpdateMode.OnPropertyChanged));
this.cboCustomer.DataBindings.Add(new Binding("Text", this.bindingSource, "CustomerName", true, DataSourceUpdateMode.OnPropertyChanged));
私は、オブジェクトの2つのプロパティを更新していますので、それは2つのバインディングを持っています。
私は、イベントを持っている:
private void cboCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
var customer= cboCustomer.SelectedItem as Customer;
if (customer == null)
return;
myObject.AccountNumber = customer.AccountNumber;
}
は、私はすべての関連情報を入力して、エンティティを保存します。保存した後、私はすなわち、新しいインスタンスへのBindingSourceのデータソースを設定します。私は、ドロップダウンリストから項目を選択すると
bindingSource.DataSource = myObject = new MyObject();
しかし、最初の時間の後、SelectedItem
プロパティは項目があるにもかかわらず、常にnullでありますリスト内の
私は別のコントロールをクリックし、そこに何かを入力してから、ドロップダウンの選択が表示されます。
何か不足していますか?
'Binding'は最初に選択した値をパラメータとして追加するオーバーロードを持っていますか? – Stefan
@Stefan nullValueを設定できるオーバーロードがあります(私が使用していない): –
logs/debugoutputにバインドエラーがありますか? – Fildor