c# - usando - lista desplegable excel condicionada
Cómo SELECCIONAR un elemento de la lista desplegable por valor programáticamente (10)
¿Cómo SELECCIONAR un elemento de la lista desplegable por valor programáticamente en C # .NET?
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;
}
}
}
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");
Mira este articulo
Cómo seleccionar un artículo en DropDownList por valor Asp.Net
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;
}
ddlPageSize.Items.FindByValue ("25"). Seleccionado = verdadero;
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.
ddl.SetSelectedValue("2");
Con una extensión práctica:
public static class WebExtensions
{
/// <summary>
/// Selects the item in the list control that contains the specified value, if it exists.
/// </summary>
/// <param name="dropDownList"></param>
/// <param name="selectedValue">The value 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 SetSelectedValue(this DropDownList dropDownList, String selectedValue)
{
ListItem selectedListItem = dropDownList.Items.FindByValue(selectedValue);
if (selectedListItem != null)
{
selectedListItem.Selected = true;
return true;
}
else
return false;
}
}
Nota : Cualquier código se libera en el dominio público. No se requiere atribución.
myDropDown.SelectedIndex =
myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue"))