una que para modificar lista hacer elemento desref desplegable como bloquear agregar actualizar asp.net drop-down-menu

asp.net - para - hacer que el elemento de la lista desplegable sea no seleccionable



excel lista desplegable modificar (8)

Tengo una lista desplegable que tiene varias opciones para generar informes. Según el tipo de cuenta, el usuario tiene ciertas opciones que deberían ser visibles pero no seleccionables (como incentivo para que se actualicen).

Me preguntaba si alguien sabía de una manera de lograr esto.

Los permisos ya están en su lugar, solo necesito ayuda para hacer que ciertos elementos no sean seleccionables.

Cualquier ayuda sería muy apreciada.


¿No estás seguro de si aún estás buscando una respuesta para esto?

La respuesta de Mark Redman es excelente si puede definir la lista de selección en la página aspx, sin embargo, si enlaza dinámicamente la lista desplegable, obviamente no puede.

Tuve éxito usando lo siguiente para lograr el resultado que busca (no estoy seguro si tengo soporte completo para el navegador, pero funciona en versiones más nuevas de IE)

foreach ( ListItem item in dropdownlist.Items ) { if ( [item should be disabled condition] ) { item.Attributes.Add( "disabled", "disabled" ); } }

Esto hará que sus elementos desactivados se atenúen.


Podría hacer este lado del cliente con un controlador que se activa cuando se selecciona un elemento. A continuación, anule la selección del elemento y / o muestre un mensaje de error.


Podrías probar esto

myDropDownList.Items.FindByValue("ReportValue").Attributes.Add("disabled", "disabled");


Prueba esto

myDropDownList.Items.FindByValue("ReportValue").Enabled = false;

Esto deshabilitará el ítem de la lista al básicamente no mostrarlo en la lista.

"ReportValue" = el valor del elemento a deshabilitar.


Puede deshabilitar una etiqueta <option> en un html <select>

Ver: http://www.htmlref.com/reference/appa/tag_option.htm

en asp.net:

<asp:DropDownList ID="MyDropDownList" runat="server"> <asp:ListItem Text="Standard Report" Value="SR"></asp:ListItem> <asp:ListItem Text="Enterprise Report" Value="ER" disabled="disabled"></asp:ListItem> </asp:DropDownList>


Puede usar un validador de campo requerido y establecer la propiedad de valor inicial en el valor del elemento en la lista desplegable que no desea que se pueda seleccionar.

<asp:RequiredFieldValidator ID="RequiredFieldValidator" runat="server" ErrorMessage="" ControlToValidate="DropDown" InitialValue="Unselectable Item"></asp:RequiredFieldValidator>


Si esto es control de HTML, entonces es muy fácil hacerlo inelegible. solo use el elemento HTML "optgroup" . p.ej

<select> <optgroup label="Hardware"></optgroup> <option id="1">mouse</option> <option id="2">keyboard</option> <option id="3">monitor</option> <optgroup label="Software"></optgroup> <option id="Option1">windows XP</option> <option id="Option2">MS Office</option> <option id="Option3">VStudio</option> </select>

(NOTA: esto funciona tanto en IE / firefox)

Gracias Sushil Jinder


Tuve el mismo problema e intenté usar la primera respuesta publicada, pero no funcionó. Luego cambié la primera publicación a:

foreach ( ListItem item in dropdownlist.Items ) { if ( [item should be disabled contdition] ) { item.Enabled = false; } }

Y funcionó para mí.