Click here to Skip to main content
6,631,889 members and growing! (15,862 online)
Email Password   helpLost your password?
Web Development » ASP.NET Controls » General     Intermediate

Sort Method for an ASP.NET DropDownList

By Domenic

This code will show you how to implement a sort feature on an ASP.NET DropDownList control.
VB, .NET, Win2K, WinXP, Win2003, ASP.NET, Visual Studio, Dev
Posted:28 Sep 2003
Views:138,327
Bookmarked:24 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
14 votes for this article.
Popularity: 4.01 Rating: 3.50 out of 5
5 votes, 35.7%
1

2

3
2 votes, 14.3%
4
7 votes, 50.0%
5

Introduction

I recently found a requirement in my ASP.NET application that needed to be able to sort a DropDownList control. Oddly enough I couldn't find a sort method within the framework, so I made my own. The code below shows what I did as a quick option, but you can of course use similar code to create a custom control that inherits from the DropDownList control.

Code

    Private Sub SortDropDown(ByVal dd As DropDownList)
        Dim ar As ListItem()
        Dim i As Long = 0
        For Each li As ListItem In dd.Items
            ReDim Preserve ar(i)
            ar(i) = li
            i += 1
        Next
        Dim ar1 As Array = ar

        ar1.Sort(ar1, New ListItemComparer)
        dd.Items.Clear()
        dd.Items.AddRange(ar1)
    End Sub
    Private Class ListItemComparer _
        Implements IComparer
        
        Public Function Compare(ByVal x As Object, _
              ByVal y As Object) As Integer _
              Implements System.Collections.IComparer.Compare
            Dim a As ListItem = x
            Dim b As ListItem = y
            Dim c As New CaseInsensitiveComparer
            Return c.Compare(a.Text, b.Text)
        End Function
    End Class

Summary

As I mentioned, this can easily be put into a custom control by simply creating a new class. Inherit from the DropDownList control and add the above code to the class. That's all. When you create your ASP.NET web form, you can drag and drop a normal DropDownList to your form, and edit the declaration in your code behind form, to use your custom class. Enjoy!

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

Domenic


Member
I've been writing software applications since the early 90's from ASP and VB5 to C# and ASP.NET. I am currently working on law enforcement and criminal justice applications delivered over the web. I've always been astounded by the fact that the only 2 industries that refer to customers as "users" are narcotics and software development. Wink
Occupation: Web Developer
Location: United States United States

Other popular ASP.NET Controls articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 25 (Total in Forum: 25) (Refresh)FirstPrevNext
GeneralDropDown List Selected Index Change Problem Pinmemberjahirhstu5:49 29 Aug '09  
GeneralPreserve VALUE while sorting Pinmemberprouhiaw@guerrillamailblock.com1:18 30 Jul '09  
GeneralThanks! Pinmemberdsilk11:52 3 Jul '08  
GeneralError Pinmemberhalliej2x22:45 1 Aug '06  
GeneralRe: Error PinmemberDomenic3:27 2 Aug '06  
GeneralRe: Error Pinmemberhalliej2x20:16 2 Aug '06  
GeneralRe: Error PinmemberDomenic10:41 3 Aug '06  
QuestionRe: Error PinmemberGregorio Cybill18:58 11 Aug '08  
GeneralRe: Error PinmemberMohammed Aziz Elnahrawi21:31 5 Oct '06  
GeneralShortcut using CopyTo method on prealloced array Pinmemberhafthor6:22 27 Feb '06  
GeneralRe: Shortcut using CopyTo method on prealloced array PinmemberLouvaras4:43 4 Feb '09  
GeneralGood code, but let's make it even better PinmemberHamidTheProgrammer11:34 9 Aug '05  
GeneralRe: Good code, but let's make it even better PinmemberDomenic3:08 10 Aug '05  
GeneralWould just like to say... PinsussAnonymous1:51 4 Aug '05  
GeneralRe: Would just like to say... PinmemberDomenic3:18 4 Aug '05  
GeneralSyntax error Pinmemberchatelainj9:41 1 Sep '04  
GeneralRe: Syntax error PinsussAnonymous9:21 3 May '05  
Generalc# version wrapped in a SortableDropDownList PinmemberSteinar Herland23:57 2 Apr '04  
GeneralRe: c# version wrapped in a SortableDropDownList PinmemberPaul Rogan1:32 10 Jan '06  
GeneralRe: c# version wrapped in a SortableDropDownList Pinmemberbanditking5:41 20 Apr '06  
GeneralRe: c# version wrapped in a SortableDropDownList PinmemberRyan McFarren7:25 14 Jul '06  
GeneralRe: c# version wrapped in a SortableDropDownList Pinmemberashushere12:56 8 Jun '07  
GeneralRe: c# version wrapped in a SortableDropDownList Pinmemberruileier22:15 18 Sep '07  
Generalhello!?? Pinsussnoahart23:05 24 Feb '04  
GeneralRe: hello!?? PinsussAnonymous1:45 4 Aug '05  

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

PermaLink | Privacy | Terms of Use
Last Updated: 28 Sep 2003
Editor: Smitha Vijayan
Copyright 2003 by Domenic
Everything else Copyright © CodeProject, 1999-2009
Web09 | Advertise on the Code Project