我有一个组合框,绑定到Datatable
并具有以下属性:
cboCars.DisplayMember = "carLiscen";
cboCars.ValueMember = "carNo";
当我知道DisplayMember
时,如何选择ValueMember
?
答案 0 :(得分:7)
如果您设置了ValueMember
,则可以使用SelectedValue
cboCars.DisplayMember = "carLiscen";
cboCars.ValueMember = "carNo";
cboCars.SelectedValue = "valuemember value";
答案 1 :(得分:1)
您可以使用cboCars.SelectedValue = "123";
属性。这是一个代码片段,可以显示它的实际效果。
public void Test()
{
ArrayList info = new ArrayList();
info.Add(new CarInfo { CarLiscen = 123456, CarNo = 123});
info.Add(new CarInfo { CarLiscen = 234567, CarNo = 234 });
cboCars.DataSource = info;
cboCars.DisplayMember = "CarLiscen";
cboCars.ValueMember = "CarNo";
cboCars.SelectedValueChanged +=
delegate(object sender, EventArgs e)
{
if (cboCars.SelectedIndex != -1)
{
this.Text = cboCars.SelectedValue.ToString();
}
};
cboCars.SelectedValue = 234;
}
如果你想知道CarInfo
的定义是什么。这是它的代码(非常简单):
public class CarInfo
{
public int CarLiscen { get; set; }
public int CarNo { get; set; }
}
希望这有帮助。
答案 2 :(得分:0)
您可以搜索正确的项目并将其设置为非常简单:
cbTEST.SelectedIndex = cbTEST.FindStringExact("your search string here");
或根据ListViewItem选择项目:
cbTEST.SelectedIndex = cbTEST.FindStringExact(lvTEST.SelectedItems[0].SubItems[0].Text);
就是这样。很简单!
答案 3 :(得分:0)
嗨,如果搜索文本或值,最好的方法 是
int Selected;
int count = ComboBox1.Items.Count;
for (int i = 0; (i<= (count - 1)); i++)
{
ComboBox1.SelectedIndex = i;
if ((string)(ComboBox1.SelectedValue) == "SearchValue")
{
Selected = i;
}
}
ComboBox1.SelectedIndex = Selected;