2つのコンボボックス(ドロップダウンリストスタイル)を持つWindowsフォームアプリケーションがあります。最初のコンボボックスはそうのように、AppTableオブジェクトのリストからデータを取得します。別のドロップダウンリストの選択項目が変更されたときに、ドロップダウンリストで選択した項目を変更する必要があります。
this.cbxSelectName.SelectedIndexChanged +=new EventHandler(cbxSelectName_SelectedIndexChanged);
そして最後に:私は、このドロップダウンリストで選択した項目が変更されたときのトリガーを設定している
foreach (AppTable table in appTableList)
cbxSelectName.Items.Add(table.App);
トリガが呼び出すメソッドの定義を次に示します。選択した項目が変更されると、tbxNewWikiWordテキストボックスの値が変更されます。しかし、同じことが2番目のドロップダウンリスト(cbxUpdateAppType)に発生しません:
private void cbxSelectName_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (AppTable table in appTableList)
{
if (table.App == cbxSelectName.SelectedItem.ToString())
{
this.tbxNewWikiWord.Text = table.WikiWord;
this.cbxUpdateAppType.SelectedItem = table.Type;
break;
}
}
}
これはAppTableがどのように見えるかです:
class AppTable
{
public string App { get; set; }
public string Type { get; set; }
public string WikiWord { get; set; }
}
私は何かが足りないのですか?
'cbxUpdateAppType'を' table.Type'に表示される内容で埋めていますか? 'cbxUpdateAppType'を埋め込むコードを投稿してください。 – shahkalpesh
table.Typeには、Service、Task、Applicationの3つの値のいずれかを格納できます。しかし、私はcbxUpdateAppTypeをこれらの3つの値で手動で埋めます。なぜなら、ループでtable.Typeから入力すると、同じ値が複数回取得されるからです。 – xbonez