Comment CHOISIR un élément de liste déroulante par valeur par programmation

Comment sélectionner un élément de liste déroulante par valeur par programmation dans C # .NET?

Si vous savez que la liste déroulante contient la valeur que vous souhaitez sélectionner, utilisez:

ddl.SelectedValue = "2"; 

Si vous ne savez pas si la valeur existe, utilisez (ou vous obtiendrez une exception de référence nulle):

 ListItem selectedListItem = ddl.Items.FindByValue("2"); if (selectedListItem != null) { selectedListItem.Selected = true; } 
 myDropDown.SelectedIndex = myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue")) 
 ddl.SetSelectedValue("2"); 

Avec une extension pratique:

 public static class WebExtensions { ///  /// Selects the item in the list control that contains the specified value, if it exists. ///  ///  /// The value of the item in the list control to select /// Returns true if the value exists in the list control, false otherwise public static Boolean SetSelectedValue(this DropDownList dropDownList, Ssortingng selectedValue) { ListItem selectedListItem = dropDownList.Items.FindByValue(selectedValue); if (selectedListItem != null) { selectedListItem.Selected = true; return true; } else return false; } } 

Remarque : tout code est publié dans le domaine public. Aucune atsortingbution requirejse.

 combobox1.SelectedValue = x; 

Je soupçonne que vous pourriez vouloir entendre autre chose, mais c’est ce que vous avez demandé.

C’est un moyen simple de sélectionner une option dans une liste déroulante basée sur une chaîne val

 private void SetDDLs(DropDownList d,ssortingng val) { ListItem li; for (int i = 0; i < d.Items.Count; i++) { li = d.Items[i]; if (li.Value == val) { d.SelectedIndex = i; break; } } } 

Ian Boyd (ci-dessus) a eu une excellente réponse – Ajoutez ceci à la classe “WebExtensions” de Ian Boyd pour sélectionner un élément dans une liste déroulante basée sur du texte:

  ///  /// Selects the item in the list control that contains the specified text, if it exists. ///  ///  /// The text of the item in the list control to select /// Returns true if the value exists in the list control, false otherwise public static Boolean SetSelectedText(this DropDownList dropDownList, Ssortingng selectedText) { ListItem selectedListItem = dropDownList.Items.FindByText(selectedText); if (selectedListItem != null) { selectedListItem.Selected = true; return true; } else return false; } 

Pour l’appeler:

 WebExtensions.SetSelectedText(MyDropDownList, "MyValue"); 

Pour ceux qui viennent ici par recherche (car ce sujet a plus de 3 ans):

 ssortingng entry // replace with search value if (comboBox.Items.Contains(entry)) comboBox.SelectedIndex = comboBox.Items.IndexOf(entry); else comboBox.SelectedIndex = 0; 

Jetez un oeil à cet article

Comment sélectionner un élément dans un DropDownList par valeur Asp.Net

je préfère

 if(ddl.Items.FindByValue(ssortingng) != null) { ddl.Items.FindByValue(ssortingng).Selected = true; } 

Remplacez ddl par l’ID de liste déroulante et la chaîne avec le nom ou la valeur de votre variable de chaîne.

ddlPageSize.Items.FindByValue (“25”). Selected = true;