5,443,978 members and growing! (22,267 online)
Email Password   helpLost your password?
Web Development » ASP.NET Controls » General     Intermediate

ListItem Control Background Formatting for DropDownList

By Roy Oliver

An article on a workaround for setting the background color of an ASP.NET DropDownList.
Javascript, CSS, VB, Windows, .NET, .NET 1.1, .NET 2.0, ASP.NET, VS.NET2003, VS2005, IE 6.0, Visual Studio, IE, Dev

Posted: 24 Feb 2006
Updated: 24 Feb 2006
Views: 19,167
Bookmarked: 15 times
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
3 votes for this Article.
Popularity: 0.85 Rating: 1.78 out of 5
1 vote, 33.3%
1
1 vote, 33.3%
2
0 votes, 0.0%
3
1 vote, 33.3%
4
0 votes, 0.0%
5

Introduction

If you have found this article then it means that you could not get the background style of a ListItem control to work properly with such web controls as a DropDownList. Yes, it's supposed to work because the ListItem control does contain an Attribute collection, but for some reason, none of the styles nor the supplied attributes will work. Well, a more tedious solution can be found here: List Control Items and Attributes by Scott Mitchell.

My solution, however, works just as well with one (known) flaw. The AutoPostBack property can not be used. I'm sure there are some JavaScript capabilities that can be implemented to duplicate this feature, so we won't consider it a major issue. At this point, you are probably wondering why the AutoPostBack property will be unavailable. Well my question to you is, "Why are you trying to use a DropDownList if its ListItem attributes don't work?".

If the handling of attributes for a DropDownList's ListItems are an obvious bug, then how about the ListItems for a System.Web.UI.HtmlControls.HtmlSelect control? I'm sure you know of all the ways to bind data with ASP.NET controls, so I'm positive that you'll use the simplicities of this example in more advanced ways.

ASPX

<form id="Form1" method="post" runat="server">
  <select name="ddlTest" id="ddlTest" runat="server" style="width:125px">
  </select>
</form>

Code Behind

Protected WithEvents ddlTest As System.Web.UI.HtmlControls.HtmlSelect

Private Sub Page_Load(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles MyBase.Load
    If Not Me.IsPostBack Then
        Dim l As ListItem

        l = New ListItem("Lions", "1")
        l.Attributes.Add("style", "background: yellow;")
        ddlTest.Items.Add(l)

        l = New ListItem("Tigers", "2")
        l.Attributes.Add("style", "background: orange;")
        ddlTest.Items.Add(l)

        l = New ListItem("Bears", "3")
        l.Attributes.Add("style", "background: brown;")
        ddlTest.Items.Add(l)

        l = New ListItem("Oh My!", "4")
        l.Attributes.Add("style", "background: red; color: white;")
        ddlTest.Items.Add(l)
    End If
End Sub

That's It

There's always a solution, even if it is just a quick fix.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Roy Oliver



Occupation: Software Developer (Senior)
Company: CDC
Location: United States United States

Other popular ASP.NET Controls articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 3 of 3 (Total in Forum: 3) (Refresh)FirstPrevNext
Subject  Author Date 
GeneralIt doesn't work if Autopost back is truemembersumitranjansumit6:50 27 Aug '07  
Generalwhy not work?memberwuxsh1:07 16 May '06  
GeneralRe: why not work?memberRoy Oliver15:08 17 May '06  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 24 Feb 2006
Editor: Smitha Vijayan
Copyright 2006 by Roy Oliver
Everything else Copyright © CodeProject, 1999-2008
Web13 | Advertise on the Code Project