我有一个组合框,绑定到Datatable,并具有以下属性:
Datatable
cboCars.DisplayMember = "carLiscen"; cboCars.ValueMember = "carNo";
如果我知道ValueMember,如何选择DisplayMember?
ValueMember
DisplayMember
l5tcr1uw1#
如果有ValueMember集合,则可以使用SelectedValue进行选择
SelectedValue
cboCars.DisplayMember = "carLiscen"; cboCars.ValueMember = "carNo"; cboCars.SelectedValue = "valuemember value";
5hcedyr02#
你可以使用cboCars.SelectedValue = "123";属性来实现这个功能。下面是一个代码片段,它将展示它的实际操作。
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的定义是什么,下面是它的代码(非常简单):
CarInfo
public class CarInfo { public int CarLiscen { get; set; } public int CarNo { get; set; } }
希望这对你有帮助。
kkbh8khc3#
您可以搜索正确的项目并将其设置为该项目,非常简单:
cbTEST.SelectedIndex = cbTEST.FindStringExact("your search string here");
或基于ListViewItem选择一个项目:
cbTEST.SelectedIndex = cbTEST.FindStringExact(lvTEST.SelectedItems[0].SubItems[0].Text);
就是这样,非常简单!
ttisahbt4#
如果要搜索文本或值,最好的方法是
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;
kzipqqlq5#
问题是组合框需要精确的类型。(int),您将它传递给combo的SelectedValue属性。但实际上,您传递的不是整数,而是对象。这通常是错误的地方。需要一段时间来解决这个问题,但最后我找到了解决的方法......怎么解决这个......简单:例如,您有一个ID(数据库中的整数),则需要执行以下操作:这是我做的一个,它不工作:数据列[intRowSelected]。储存格[3]。值;您应该执行以下操作以使其正常工作:转换为Int 32(dgvListOfFilters.行[选定的intRowSelected].单元格[3].值); cmbFilter.选定值=整数类别;希望这对很多人都有帮助。
5条答案
按热度按时间l5tcr1uw1#
如果有
ValueMember
集合,则可以使用SelectedValue
进行选择5hcedyr02#
你可以使用
cboCars.SelectedValue = "123";
属性来实现这个功能。下面是一个代码片段,它将展示它的实际操作。如果你想知道
CarInfo
的定义是什么,下面是它的代码(非常简单):希望这对你有帮助。
kkbh8khc3#
您可以搜索正确的项目并将其设置为该项目,非常简单:
或基于ListViewItem选择一个项目:
就是这样,非常简单!
ttisahbt4#
如果要搜索文本或值,最好的方法是
kzipqqlq5#
问题是组合框需要精确的类型。(int),您将它传递给combo的SelectedValue属性。但实际上,您传递的不是整数,而是对象。这通常是错误的地方。需要一段时间来解决这个问题,但最后我找到了解决的方法......怎么解决这个......简单:
例如,您有一个ID(数据库中的整数),则需要执行以下操作:
这是我做的一个,它不工作:数据列[intRowSelected]。储存格[3]。值;
您应该执行以下操作以使其正常工作:转换为Int 32(dgvListOfFilters.行[选定的intRowSelected].单元格[3].值); cmbFilter.选定值=整数类别;
希望这对很多人都有帮助。