2011-01-21 41 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); 
     } 
相關問題