.NETの皆さんにとって、これは非常に単純な質問かもしれませんが、私はMFC C ++開発チームから来ているので、この動作はすべて、開発チームに何が起こっているのか疑問に思いました。(MFCでは、ドロップダウンデータソースを作成すると、ソースは共有されますが、各ドロップダウンの値は影響を受けません)
非常に単純な状況です。私のフォームには、通りを尋ねる3つのドロップダウンリストがあります。あなたがいる通りと他の2つの最も近い通り。これらの各ドロップダウンリストには、同じデータソースがあります。つまり、私たちが行ったことは、(ちなみに、ComboListは、いくつかの関数を備えたListItemを継承するクラスにすぎません)
//Combo Street
ComboList cboNomRue = new ComboList();
Tools.GetCombo(cboNomRue, Tools.ComboTypeRt.RT_NOM_RUE, true, true);
ddlNomRue.DisplayMember = "Numero";
ddlNomRue.ValueMember = "ID";
ddlNomRue.DataSource = cboNomRue;
//Combo Street From
ddlDe.DisplayMember = "Numero";
ddlDe.ValueMember = "ID";
ddlDe.DataSource = cboNomRue;
//Combo Street To
ddlA.DisplayMember = "Numero";
ddlA.ValueMember = "ID";
ddlA.DataSource = cboNomRue;
このコードを使用して、ユーザーがddlNomRueの値を変更すると、3つのドロップダウンリストがその値に変更されます。それを修正するために、私はそれをしました。
//Combo Street
ComboList cboNomRue = new ComboList();
Tools.GetCombo(cboNomRue, Tools.ComboTypeRt.RT_NOM_RUE, true, true);
ddlNomRue.DisplayMember = "Numero";
ddlNomRue.ValueMember = "ID";
ddlNomRue.DataSource = cboNomRue;
ComboList cboNomRue2 = new ComboList(cboNomRue);
ComboList cboNomRue3 = new ComboList(cboNomRue);
//Combo Street From
ddlDe.DisplayMember = "Numero";
ddlDe.ValueMember = "ID";
ddlDe.DataSource = cboNomRue2;
//Combo Street To
ddlA.DisplayMember = "Numero";
ddlA.ValueMember = "ID";
ddlA.DataSource = cboNomRue3;
本当に必要なのは1つだけの場合に変数を複製するため、これは好きではありません。これはこの状況に対処するための良い方法ですか、それとも私にできることは他にありますか?
ありがとう