2011-01-21 58 views
0

我有一个带有两个组合框(Dropdownlist样式)的Windows窗体应用程序。第一个组合框从AppTable对象的列表获取数据,就像这样:当在另一个下拉列表中选择的项目更改时,需要更改下拉列表中的选定项目

foreach (AppTable table in appTableList) 
      cbxSelectName.Items.Add(table.App); 

我已成立时,在该下拉列表中选择的项目被改变的触发:

this.cbxSelectName.SelectedIndexChanged +=new EventHandler(cbxSelectName_SelectedIndexChanged); 

最后,这里是触发器调用方法的定义。请注意,tbxNewWikiWord文本框中的值随着所选项目的更改而变化。

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)发生的呢?

+1

你用'table.Type`中出现的内容填充`cbxUpdateAppType`吗?请发布填充`cbxUpdateAppType`的代码。 – shahkalpesh 2011-01-21 19:54:37

回答

0

将值添加到AppTable对象的cbxUpdateAppType中修复它。我不知道为什么,因为无论哪种情况,我都添加了字符串。

我只需要检查重复项,这样我就不会在我的下拉框中出现多个相同值的实例。

foreach (AppTable table in appTableList) 
     { 
      if (!cbxUpdateAppType.Items.Contains(table.Type)) 
       cbxUpdateAppType.Items.Add(table.Type); 
     }