c# - programar - crear menu desplegable en visual studio 2010
Configuración de lista desplegable elemento seleccionado programáticamente (8)
Aquí está el código que estaba buscando:
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));
O
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
Quiero establecer programáticamente el atributo de elemento selecteditem
para un control de lista desplegable de ASP.Net.
Así que quiero pasar un valor al control de lista desplegable para establecer el elemento seleccionado donde el elemento es igual al valor pasado.
Bueno, si entendí correctamente tu pregunta. La solución para establecer el valor para una lista desplegable dada será:
dropdownlist1.Text="Your Value";
Esto solo funcionará si el valor existe en la fuente de datos de la lista desplegable.
Si necesita seleccionar su elemento de lista basado en una expresión:
foreach (ListItem listItem in list.Items)
{
listItem.Selected = listItem.Value.Contains("some value");
}
Suponiendo que la lista ya está vinculada a los datos, simplemente puede establecer la propiedad SelectedValue
en su lista desplegable.
list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();
list.SelectedValue = myValue.ToString();
El valor de la variable myValue
debería existir en la propiedad especificada en DataValueField
en su enlace de datos de controles.
ACTUALIZACIÓN : si el valor de myValue
no existe como un valor con las opciones de la lista desplegable, se seleccionará de manera predeterminada la primera opción en la lista desplegable.
ddlData.SelectedIndex
contendrá el valor int
Para seleccionar el valor específico en DropDown
:
ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
tipo de ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
de ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
es int
.
var index = ctx.Items.FirstOrDefault(item => Equals(item.Value, Settings.Default.Format_Encoding));
ctx.SelectedIndex = ctx.Items.IndexOf(index);
O
foreach (var listItem in ctx.Items)
listItem.Selected = Equals(listItem.Value as Encoding, Settings.Default.Format_Encoding);
Debería funcionar ... ¡especialmente cuando se usan controles RAD extendidos en los que FindByText / Value ni siquiera existe!
ddlemployee.DataSource = ds.Tables[0];
ddlemployee.DataTextField = "Employee Name";
ddlemployee.DataValueField = "RecId";
ddlemployee.DataBind();
ddlemployee.Items.Insert(0, "All");
ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;