Установка dropdownlist selecteditem программно
Я хочу, чтобы selecteditem
атрибут для ASP.Net управление dropdownlist программно.
поэтому я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где элемент равен переданному значению.
10 ответов
предполагая, что список уже привязан к данным, Вы можете просто установить SelectedValue
свойства в раскрывающемся списке.
list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();
list.SelectedValue = myValue.ToString();
значение myValue
переменная должна существовать в свойстве, указанном в DataValueField
в привязке данных элементов управления.
обновление:
Если значение myValue
не существует в качестве значения с параметрами раскрывающегося списка по умолчанию для выбора первого параметра в раскрывающемся списке.
ddlData.SelectedIndex
содержит int
значение, чтобы выбрать конкретное значение в DropDown
:
ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
return
типа ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
is int
.
вот код, который я искала :
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));
или
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
Ну если я правильно понял ваш вопрос. Решением для установки значения для данного выпадающего списка будет:
dropdownlist1.Text="Your Value";
это будет работать, только если значение существует в источнике данных dropdownlist.
Если вам нужно выбрать элемент списка на основе выражения:
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);
должны работать.. особенно при использовании расширенных элементов управления RAD, в которых FindByText/Value даже не существует!
ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;
проверка безопасности, чтобы выбрать только если элемент соответствует.
//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");