2010-01-28 45 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)對象中並調用它的排序。然後將你的列表框綁定到新列表後排序。