2014-02-26 82 views
2

我試過FindStringExact,但它不工作...查找組合框項目的索引,當該項目是一類

我有一個類:

public class ModelLangPS { 
    public string Id { get; set; } 
    public string Name { get; set; } 
} 

和組合框:

Dictionary<string, ModelLangPS> list = new Dictionary<string, ModelLangPS>(); 
foreach(JObject o in value) { 
    list.Add(o["@id"].ToString(), new ModelLangPS() { 
     Id = o["@id"].ToString(), 
     Name = "some string" 
    }); 
} 
comboBxJezik.DataSource = list.Values.ToList(); 
comboBxJezik.DisplayMember = "name"; 
comboBxJezik.ValueMember = "id"; 
comboBxJezik.SelectedIndex = 0; 

當我拿到語言的id,我想與id設置的組合框項目。

喜歡的東西:

string langID = "5"; 
comboBxJezik.SelectedIndex = ???; 

如果有人可以幫助我,我將不勝感激:)

回答

4

爲什麼你需要一個指數?只需使用SelectedValue屬性;

comboBxJezik.SelectedValue = langID; 
+0

其實它的工作原理,TNX .. :) – BRap

1

我認爲可以工作:

comboBxJezik.SelectedItem = list[langID].Name; 
+0

對不起,沒有工作 – BRap

2

Findstringexact看起來只在項目的顯示部件。你可以這樣做:

combo.SelectedItem = list.Values.SingleOrDefault(item => item.Id == id); 

或者這

combo.SelectedItem = list[id]; 
+0

第一個解決方案也完美的作品,TNX爲理念! :d – BRap