Установка выпадающего списка выбрана программно

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

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

Предполагая, что список уже привязан к данным, вы можете просто установить свойство SelectedValue в раскрывающемся списке.

 list.DataSource = GetListItems(); // <-- Get your data from somewhere. list.DataValueField = "ValueProperty"; list.DataTextField = "TextProperty"; list.DataBind(); list.SelectedValue = myValue.ToString(); 

Значение переменной myValue должно существовать в свойстве, указанном в DataValueField в DataValueField элементов управления.

UPDATE : если значение 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; 

При загрузке My Windows Form 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 } 

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

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