2010-01-28 73 views
3

我需要在Visual Basic列表框的项目数值进行排序,就是我有一个数字我想越来越多地分类的集合。排序列表框项数值在VB

我试图简单地使用列表框的Sorted属性,但发现它将数字看作是字符串,也就是说,它会查看第一个数字,然后是第二个数字等来确定顺序。例如,这意味着13将在5之前显示。

我以为所有的数字倾倒到一个数组,soring的数组,然后推他们回到列表框中的,但是,说实话,我不知道如何去排序。我想这个数组是无用的,因为列表框已经充当了一个伪数组。

任何想法?

回答

3

您可以使用这样的事情:

Private Shared Sub SortIntegerListBox(ByVal listBox As ListBox) 
    Dim TempList As New List(Of Integer) 
    For Each LI In listBox.Items 
     TempList.Add(Integer.Parse(LI.ToString())) 
    Next 
    TempList.Sort() 
    listBox.DataSource = TempList 
End Sub 

和装订后调用它:

Dim Items As New List(Of Integer) 
    Items.Add(1) 
    Items.Add(13) 
    Items.Add(2) 

    Me.ListBox1.DataSource = Items 
    SortIntegerListBox(Me.ListBox1) 
1

您可以将项目转储到List(Of Integer)对象中并调用它的排序。然后将你的列表框绑定到新列表后排序。