【发布时间】:2010-08-16 19:12:47
【问题描述】:
我想以编程方式为 ASP.Net 下拉列表控件设置 selecteditem 属性。
所以我想向下拉列表控件传递一个值来设置选中的项目,其中项目等于传递的值。
【问题讨论】:
-
你的意思是
myList.SelectedValue = someStringValue;?
标签: c# asp.net drop-down-menu
我想以编程方式为 ASP.Net 下拉列表控件设置 selecteditem 属性。
所以我想向下拉列表控件传递一个值来设置选中的项目,其中项目等于传递的值。
【问题讨论】:
myList.SelectedValue = someStringValue;?
标签: c# asp.net drop-down-menu
假设列表已经是数据绑定的,您只需在下拉列表中设置 SelectedValue 属性即可。
list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();
list.SelectedValue = myValue.ToString();
myValue 变量的值需要存在于控件数据绑定中DataValueField 中指定的属性中。
更新:
如果myValue 的值不作为下拉列表选项的值存在,它将默认选择下拉列表中的第一个选项。
【讨论】:
.SelectedValue 的值选择应该预先选择的元素。
ddlData.SelectedIndex 将包含int 值要选择特定值到DropDown 中:
ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
return 类型的ddlData.Items.IndexOf(ddlData.Items.FindByText("value")); 是int。
【讨论】:
这是我正在寻找的代码:
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));
或者
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
【讨论】:
如果我理解正确你的问题。为给定下拉列表设置值的解决方案是:
dropdownlist1.Text="Your Value";
仅当下拉列表的数据源中存在该值时才有效。
【讨论】:
如果您需要根据表达式选择列表项:
foreach (ListItem listItem in list.Items)
{
listItem.Selected = listItem.Value.Contains("some value");
}
【讨论】:
只需使用此单线笔:
divisions.Items.FindByText("Some Text").Selected = true;
divisions.Items.FindByValue("some value").Selected = true;
div 是一个下拉列表控件。
希望对某人有所帮助。
【讨论】:
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 控件时!
【讨论】:
ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;
【讨论】:
在加载我的 Windows 窗体时,comboBox 将显示我的DataTable 的ClassName 列,因为它是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
}
【讨论】:
安全检查仅选择项目是否匹配。
//try to find item in list.
ListItem oItem = DDL.Items.FindByValue("PassedValue"));
//if exists, select it.
if (oItem != null) oItem.Selected = true;
【讨论】:
ddlemployee.DataSource = ds.Tables[0];
ddlemployee.DataTextField = "Employee Name";
ddlemployee.DataValueField = "RecId";
ddlemployee.DataBind();
ddlemployee.Items.Insert(0, "All");