私のプロジェクトではMVPを使用していますが、私はMVPで新しくなっています。 私は2つのコンボボックスを持っています。コンボボックスでオプションを選択すると、別のコンボボックスに新しいデータが書き込まれます。プレゼンター(MVP)のコンボボックスを更新
このアクションはPresenterに表示されます。プレゼンターで私のビュー 'view1'を取得し、Combobox1とCombobox2を 'view1'のプロパティとして導入しました。以下のメソッドで 'DataSource'、 'DisplayMember'、 'ValueMember'、 'Refresh()'が必要です。パターンを使用しているとき
はしかし、プレゼンターに
public string Combobox2
{
get { return comboBox1.SelectedValue.ToSstring(); }
}
全体ではなく、コンボボックスのようなプロパティを送信するのに十分です。どうすればこの問題を解決できますか?
public void OnSelectedIndexChangedCombobox1()
{
if (view1.Combobox1.SelectedIndex == -1)
{
return;
}
DataTable dt = Tools.GetDataTable("A Path");
var query =
(from o in dt.AsEnumerable()
where o.Field<string>("afield") ==
farmerView.Combobox1.SelectedValue.ToString()
orderby o.Field<string>("anotherfield")
select new KeyValuePair<string, string>(o.Field<string>("field1"),
o.Field<string>("field2"))).ToList();
farmerView.Combobox2SelectedIndexChanged -= OnSelectedIndexChangedCombobox2;
farmerView.Combobox2.DataSource = new BindingSource(query, null);
farmerView.Combobox2.DisplayMember = "Value";
farmerView.Combobox2.ValueMember = "Key";
farmerView.Combobox2.Refresh();
farmerView.Combobox2SelectedIndexChanged +=
OnSelectedIndexChangedCombobox2;
farmerView.Combobox2.SelectedIndex = -1;
}
は、私たちが呼ぶ(あなたが