How do I change a listitem font color?

How do I change a listitem font color?

Post by Do » Wed, 10 Dec 2003 02:32:50


Hi,

In my listbox, I'd like to change the color of some listitems
depending on user security.

I tried wrapping the <font color=red></font> around
my listitme's .text property, but the tags show up in the page load.

What can I do here?

Do
 
 
 

How do I change a listitem font color?

Post by Munsifali » Wed, 10 Dec 2003 02:58:54

Usually, you'd use something like:

ListItem MyListItem = new ListItem("text", "value");
MyListItem.Attributes.CssStyle.Add("color", "red");
MyListBox.Add(MyListItem);

However, there's a known bug in the standard ListBox and DropDownList
classes, where item attributes are ignored. To get around this, you need to
create a new class derived from the standard ListBox or DropDownList class
and override it's RenderContents method to correctly render the attributes:

override protected void RenderContents(HtmlTextWriter writer)
{
for(int c=0;c<Items.Count;c++)
{
ListItem i = Items[c];
writer.WriteBeginTag("option");
if(i.Selected) writer.WriteAttribute("selected", "selected", false);
writer.WriteAttribute("value", i.Value, true);
IEnumerator d = Items[c].Attributes.Keys.GetEnumerator();

while(d.MoveNext())writer.WriteAttribute(d.Current.ToString(),Items[c].Attri
butes[d.Current.ToString()]);
writer.Write('>');
System.Web.HttpUtility.HtmlEncode(i.Text, writer);
writer.Wri *** dTag("option");
writer.WriteLine();
}
}

(The code above is from
http://www.yqcomputer.com/ %40tkmsftngp05)

Hope this helps,

Mun