Установка dropdownlist для selecteditem программным способом


Я хочу, чтобы selecteditem атрибут для ASP.Net управление dropdownlist программно.

поэтому я хочу передать значение в элемент управления dropdownlist, чтобы установить выбранный элемент, где элемент равен переданному значению.

10 62

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")); и 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");
}
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;

при загрузке моей формы Windows comboBox появится

проверка безопасности, чтобы выбрать только если элемент соответствует.

//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");