我尝试了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 = ???;
如果有人能帮助我,我将不胜感激:)
答案 0 :(得分:4)
为什么需要索引?只需使用SelectedValue
属性;
comboBxJezik.SelectedValue = langID;
答案 1 :(得分:2)
Findstringexact仅查看项目的显示成员。你可以这样做:
combo.SelectedItem = list.Values.SingleOrDefault(item => item.Id == id);
或者这个
combo.SelectedItem = list[id];
答案 2 :(得分:1)
我认为可行:
comboBxJezik.SelectedItem = list[langID].Name;