2.198 messaggi dal 30 novembre 2001
Vorrei fare in modo che il testo dell'item selezionato di una radiobuttonlist abbia un colore diverso dagli altri, ho provato con:
RadioButtonList.SelectedItem.Attributes.Add("style","color:red");
ma non succede nulla. Forse devo inserirlo da qualche altra parte e non nell'evento Page_load?
Ho provato questa cosa ma non è il massimo, anche se sembra funzionare. In pratica aggiungo alla proprietà Text dell'item selezionato uno span HTML con il colore rosso del font, prima però lo rimuovo eventualmente da uno selezionato precedentemente. E' chiaro che questo funziona con AutoPostBack impostato a true e modificando l'evento SelectedIndexChanged. Se trovi qualcosa di più funzioanle è senz'altro meglio...



private void rbEmployees_SelectedIndexChanged(object sender, System.EventArgs e)
{
string tagInitSpan="<span style='color:red'>";
string tagEndSpan="</span>";
for(int i=0;i<rbEmployees.Items.Count;i++)
{

string abc=rbEmployees.Items[i].Text;

if(abc.Length>tagInitSpan.Length)
{
string compare=abc.Substring(0,tagInitSpan.Length);

if(compare==tagInitSpan)
{
rbEmployees.Items[i].Text=abc.Substring(tagInitSpan.Length,abc.Length-(tagEndSpan.Length+tagInitSpan.Length));
}
}
}
rbEmployees.SelectedItem.Text=tagInitSpan + rbEmployees.SelectedItem.Text+tagEndSpan;
}
non so se IE supporti lo stile in linea per <option>, prova a definire una classe CSS, forse fai prima.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
2.198 messaggi dal 30 novembre 2001
X Daniele:
ma la classe css la devo applicare all'intera collezione di Item, come faccio ad applicarla al singolo Item?

X Ferrariand:
il tuo metodo funziona solo che cercavo di più funzionale.

Grazie.
chiccosimo ha scritto:
ma la classe css la devo applicare all'intera collezione di Item, come faccio ad applicarla al singolo Item?


si ed è grossomodo come ha fatto Andrea, solo che non aggiungi nessun tag span, ma modifichi la proprietà CssClass (se ce l'ha, altrimenti l'aggiungi) dell'item corrente.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
2.198 messaggi dal 30 novembre 2001
ho provato con:
this.RadioTipoAppalto.SelectedItem.Attributes.Add("CssClass", "campo");
ma non mi ha modificato nulla, forse perchè la proprietà CssClass si può applicare solo alla collezione di item e non al singolo, c'è la proprietà CssStyle del singolo item ma è di sola lettura e non posso impostarla.
Il metodo di Andrea funziona ma se ce ne fosse uno migliore sarebbe meglio,
grazie comunque se hai qualche altra idea fammelo sapere.

ciao
se aggiungi un attributo viene scritto come HTML, quindi non devi usare CssClass ma direttamente Class

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
2.198 messaggi dal 30 novembre 2001
ho scritto:
this.RadioTipoAppalto.SelectedItem.Attributes.Add("Class", "campo");
ma non funziona, e lo stesso con:
this.RadioTipoAppalto.SelectedItem.Attributes.Add("Class", "color:red");

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.