Click here to Skip to main content
15,881,715 members
Articles / Web Development / ASP.NET
Article

Sort Method for an ASP.NET DropDownList

Rate me:
Please Sign up or sign in to vote.
3.50/5 (16 votes)
28 Sep 2003 234.9K   28   26
This code will show you how to implement a sort feature on an ASP.NET DropDownList control.

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

VB
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


Written By
Web Developer
United States United States
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 | ;-)

Comments and Discussions

 
GeneralMy vote of 4 Pin
RogerFraser17-Jul-13 20:38
RogerFraser17-Jul-13 20:38 
GeneralDropDown List Selected Index Change Problem Pin
jahirhstu29-Aug-09 4:49
jahirhstu29-Aug-09 4:49 
GeneralPreserve VALUE while sorting Pin
prouhiaw@guerrillamailblock.com30-Jul-09 0:18
prouhiaw@guerrillamailblock.com30-Jul-09 0:18 
GeneralThanks! Pin
dsilk3-Jul-08 10:52
dsilk3-Jul-08 10:52 
GeneralError Pin
halliej2x1-Aug-06 21:45
halliej2x1-Aug-06 21:45 
GeneralRe: Error Pin
Domenic2-Aug-06 2:27
Domenic2-Aug-06 2:27 
GeneralRe: Error Pin
halliej2x2-Aug-06 19:16
halliej2x2-Aug-06 19:16 
GeneralRe: Error Pin
Domenic3-Aug-06 9:41
Domenic3-Aug-06 9:41 
QuestionRe: Error Pin
Gregorio Cybill11-Aug-08 17:58
Gregorio Cybill11-Aug-08 17:58 
GeneralRe: Error Pin
Mohammed Aziz Elnahrawi5-Oct-06 20:31
Mohammed Aziz Elnahrawi5-Oct-06 20:31 
GeneralShortcut using CopyTo method on prealloced array Pin
hafthor27-Feb-06 5:22
hafthor27-Feb-06 5:22 
GeneralRe: Shortcut using CopyTo method on prealloced array Pin
Louvaras4-Feb-09 3:43
Louvaras4-Feb-09 3:43 
GeneralGood code, but let's make it even better Pin
HamidTheProgrammer9-Aug-05 10:34
HamidTheProgrammer9-Aug-05 10:34 
GeneralRe: Good code, but let's make it even better Pin
Domenic10-Aug-05 2:08
Domenic10-Aug-05 2:08 
Makes sense to me. Thanks for your comments and suggestion!
GeneralWould just like to say... Pin
Anonymous4-Aug-05 0:51
Anonymous4-Aug-05 0:51 
GeneralRe: Would just like to say... Pin
Domenic4-Aug-05 2:18
Domenic4-Aug-05 2:18 
GeneralSyntax error Pin
chatelainj1-Sep-04 8:41
chatelainj1-Sep-04 8:41 
GeneralRe: Syntax error Pin
Anonymous3-May-05 8:21
Anonymous3-May-05 8:21 
Generalc# version wrapped in a SortableDropDownList Pin
Steinar Herland2-Apr-04 22:57
Steinar Herland2-Apr-04 22:57 
GeneralRe: c# version wrapped in a SortableDropDownList Pin
Paul Rogan10-Jan-06 0:32
Paul Rogan10-Jan-06 0:32 
GeneralRe: c# version wrapped in a SortableDropDownList Pin
banditking20-Apr-06 4:41
banditking20-Apr-06 4:41 
GeneralRe: c# version wrapped in a SortableDropDownList Pin
Ryan McFarren14-Jul-06 6:25
Ryan McFarren14-Jul-06 6:25 
GeneralRe: c# version wrapped in a SortableDropDownList Pin
ashushere8-Jun-07 11:56
ashushere8-Jun-07 11:56 
GeneralRe: c# version wrapped in a SortableDropDownList Pin
RicoRui18-Sep-07 21:15
RicoRui18-Sep-07 21:15 
Questionhello!?? Pin
noahart24-Feb-04 22:05
noahart24-Feb-04 22:05 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.