我有一个字符串 "test1",我的组合框包含 test1
、test2
和 test3
。如何将选定的项目设置为 "test1"?也就是说,如何将我的字符串与组合框中的一个项目匹配?
我想到了下面这行代码,但它不起作用。
comboBox1.SelectedText = "test1";
comboBox1.SelectedIndex = 0;
我已经用从数据库中填充的DataTable填充了ComboBox。然后我设置了DisplayMember和ValueMember。我使用这段代码来设置选定的项目。
foreach (DataRowView Row in ComboBox1.Items)
{
if (Row["ColumnName"].ToString() == "Value") ComboBox1.SelectedItem = Row;
}
comboBox.SelectedItem = comboBox.Items.Cast<KeyValuePair<string,string>>().First(item=> item.Value == "value to match");
但是,如果我作为代码审查员看到这样的代码,我会建议重新考虑所有的方法算法。
ComboBox 中没有该属性。您可以使用 SelectedItem 或 SelectedIndex。如果您有用于填充组合框的对象,则可以使用 SelectedItem。
如果没有,您可以获取项目集合(属性 Items)并迭代该集合,直到获得所需值,并将其与其他属性一起使用。
希望能帮到您。
_cmbTemplates.SelectedText = "test1"
或者也许
_cmbTemplates.SelectedItem= _cmbTemplates.Items.Equals("test1");
foreach (MyObject item in comboBox.Items)
{
if (item.NameOrID == mySecondObject.NameOrID)
{
comboBox.SelectedItem = item;
break;
}
}
ListItem li = DropDownList.Items.FindByValue("13001");
DropDownList.SelectedIndex = ddlCostCenter.Items.IndexOf(li);
对于您的情况,您可以使用
DropDownList.Items.FindByText("Text");
这对我有效......
comboBox.DataSource.To<DataTable>().Select(" valueMember = '" + valueToBeSelected + "'")[0]["DislplayMember"];
如果你是通过数据集来绑定数据源,那么你应该使用"SelectedValue"
cmbCategoryList.SelectedValue = (int)dsLookUp.Tables[0].Select("WHERE PRODUCTCATEGORYID = 1")[0]["ID"];
SelectedText
将“选定”的文本更改为 test1。如果没有进行“选择”(标记的文本),则文本将插入插入符号位置。 - AaA