Sort List box in ASP .Net using System.Collections.SortedList

Chikul
Posted by Chikul under ASP.NET category on | Views : 5499
SortedList :
SortedList Represents a collection of key/value pairs that are sorted by the keys and are accessible by key and by index.

Code Behind :

Partial Class SortListBox
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try

If Not IsPostBack Then

'Let List box Having the following Item.
Dim strcountry() As String = {"Denmark", "China", "Italy", "Australia", "India", "Egypt", "Bhutan"}
Dim strcountryID() As String = {"Den", "Chi", "Ita", "Aus", "Ind", "Egy", "Bhu"}

'Populate the List Box
For i As Int16 = 0 To strcountry.Length - 1

ListBox1.Items.Add(i)
ListBox1.Items(i).Text = strcountry(i)
ListBox1.Items(i).Value = strcountryID(i)
Next

End If

Catch ex As Exception
Throw ex
End Try
End Sub

'Click on btnSort to Sort the ListBox.
Protected Sub btnSort_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSort.Click
Try

'Use the object of SortedList to Sort the Items
Dim objSortlst As New SortedList

For i As Int16 = 0 To ListBox1.Items.Count - 1

'objSortlst.Add(key,value) . It keeps value in sorted Order
objSortlst.Add(ListBox1.Items(i).Text, ListBox1.Items(i).Value)
Next

'Now objSortlst is having data in Sorted order of Key
ListBox1.DataSource = objSortlst
ListBox1.DataTextField = "key"
ListBox1.DataValueField = "value"
ListBox1.DataBind()

Catch ex As Exception
Throw ex
End Try
End Sub

End Class

Comments or Responses

Login to post response