rendere non selezionabile la voce dell’elenco a discesa

Ho un elenco a discesa che ha diverse opzioni per la generazione di report. In base al tipo di account l’utente ha determinate opzioni che dovrebbero essere visibili ma non selezionabili (come incentivo per l’aggiornamento).

Mi stavo chiedendo se qualcuno sapeva di un modo per realizzare questo.

Le autorizzazioni sono già in atto ho solo bisogno di assistenza per rendere certi elementi non selezionabili.

Qualsiasi aiuto sarebbe molto apprezzato.

Non sei sicuro se stai ancora cercando una risposta?

La risposta di Mark Redman è ottima se è ansible definire l’elenco di selezione nella pagina di aspx, tuttavia se si associa dynamicmente l’elenco a discesa non è ansible.

Ho avuto successo usando quanto segue per ottenere il risultato desiderato (non sono sicuro sul supporto completo del browser ma funziona nelle versioni più recenti di IE)

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

Questo renderà i tuoi elementi disabilitati in grigio.

Puoi disabilitare un tag in un html

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

in asp.net:

     

È ansible utilizzare un validatore di campi obbligatorio e impostare la proprietà del valore iniziale sul valore dell’elemento nell’elenco a discesa che non si desidera selezionare.

  

Ho avuto questo stesso problema e ho cercato di usare la prima risposta pubblicata, ma non ha funzionato per me. Ho quindi cambiato il primo post in:

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

e ha funzionato per me.

Potresti provare questo

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

Si potrebbe fare questo lato client con un gestore che viene triggersto quando un elemento è selezionato. Quindi deselezionare l’elemento e / o visualizzare un messaggio di errore.

Se si tratta di controllo HTML, è molto semplice renderlo UNSelecteable. basta usare l’elemento HTML “optgroup” . per esempio

  

(NOTA: questo funziona sia in IE / firefox)

Grazie a Sushil Jinder

Prova questo

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

Questo disabiliterà la voce dalla lista in pratica non mostrandola nella lista.

"ReportValue" = il valore dell’elemento da disabilitare.