我想以selecteditem
编程方式设置ASP.Net下拉列表控件的属性。
所以我想将一个值传递给dropdownlist控件以设置所选项目,其中该项目等于所传递的值。
Answers:
假设列表已经绑定了数据,则只需SelectedValue
在下拉列表中设置属性即可。
list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();
list.SelectedValue = myValue.ToString();
myValue
变量的值必须存在于DataValueField
控件数据绑定中指定的属性中。
UPDATE:如果myValue
下拉列表选项中的值不存在,则默认选择下拉列表中的第一个选项。
.SelectedValue
。
如果需要基于表达式选择列表项:
foreach (ListItem listItem in list.Items)
{
listItem.Selected = listItem.Value.Contains("some value");
}
var index = ctx.Items.FirstOrDefault(item => Equals(item.Value, Settings.Default.Format_Encoding));
ctx.SelectedIndex = ctx.Items.IndexOf(index);
要么
foreach (var listItem in ctx.Items)
listItem.Selected = Equals(listItem.Value as Encoding, Settings.Default.Format_Encoding);
应该可以工作..特别是在使用甚至不存在FindByText / Value的扩展RAD控件时!
只需使用此oneliner:
divisions.Items.FindByText("Some Text").Selected = true;
divisions.Items.FindByValue("some value").Selected = true;
除法是下拉列表控件。
希望它能帮助某人。
加载“我的Windows窗体”后,它comboBox
会显示“ClassName
我”的列,DataTable
因为它DisplayMember
也具有ValueMember
(对用户不可见)它的列。
private void Form1_Load(object sender, EventArgs e)
{
this.comboBoxSubjectCName.DataSource = this.Student.TableClass;
this.comboBoxSubjectCName.DisplayMember = TableColumn.ClassName;//Column name that will be the DisplayMember
this.comboBoxSubjectCName.ValueMember = TableColumn.ClassID;//Column name that will be the ValueMember
}
ddlemployee.DataSource = ds.Tables[0];
ddlemployee.DataTextField = "Employee Name";
ddlemployee.DataValueField = "RecId";
ddlemployee.DataBind();
ddlemployee.Items.Insert(0, "All");
myList.SelectedValue = someStringValue;
?