hacer que el elemento de la lista desplegable sea no seleccionable

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.

Puede deshabilitar una etiqueta en un html

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

en asp.net:

     

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.

  

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í.

Podrías probar esto

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

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.

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

  

(NOTA: esto funciona tanto en IE / firefox)

Gracias Sushil Jinder

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.