c# - otras - Cómo SELECCIONAR un elemento de la lista desplegable por valor programáticamente



excel listas desplegables dependientes dinamicas (7)

Esta es una manera simple de seleccionar una opción de una lista desplegable basada en una cadena val

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

https://ffff65535.com

¿Cómo SELECCIONAR un elemento de la lista desplegable por valor programáticamente en C # .NET?


Ian Boyd (arriba) tuvo una excelente respuesta. Agregue esto a la clase de Ian Boyd "WebExtensions" para seleccionar un elemento en una lista desplegable basada en texto:

    /// <summary>
    /// Selects the item in the list control that contains the specified text, if it exists.
    /// </summary>
    /// <param name="dropDownList"></param>
    /// <param name="selectedText">The text of the item in the list control to select</param>
    /// <returns>Returns true if the value exists in the list control, false otherwise</returns>
    public static Boolean SetSelectedText(this DropDownList dropDownList, String selectedText)
    {
        ListItem selectedListItem = dropDownList.Items.FindByText(selectedText);

        if (selectedListItem != null)
        {
            selectedListItem.Selected = true;
            return true;
        }
        else
            return false;
    }

Para llamarlo:

WebExtensions.SetSelectedText(MyDropDownList, "MyValue");

Para aquellos que vienen aquí por búsqueda (porque este hilo tiene más de 3 años):

string entry // replace with search value

if (comboBox.Items.Contains(entry))
   comboBox.SelectedIndex = comboBox.Items.IndexOf(entry);
else
   comboBox.SelectedIndex = 0;

Si sabe que la lista desplegable contiene el valor que desea seleccionar, use:

ddl.SelectedValue = "2";

Si no está seguro de si el valor existe, use (o obtendrá una excepción de referencia nula):

ListItem selectedListItem = ddl.Items.FindByValue("2");

if (selectedListItem != null)
{
    selectedListItem.Selected = true;
}

yo prefiero

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

Reemplace ddl con el ID de la lista desplegable y la cadena con su nombre o valor de variable de cadena.


combobox1.SelectedValue = x;

Sospecho que querrás escuchar algo más, pero esto es lo que pediste.


myDropDown.SelectedIndex = 
    myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue"))




drop-down-menu