|
Tipp 0115
|
ListBox numerisch sortieren
|
|
|
Autor/Einsender: Datum: |
|
Horst Düvel 13.04.2006 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
Framework: |
|
1.1 |
|
|
Wenn man Zahlen in einer Listbox sortiert wiedergeben will, so erhält man durch ListBox1.Sorted = True die sogenannte alphanumerische
Sortierung, z. B. 1, 10, 2, 20 usw. Will man nun eine numerische Sortierung, 1, 2, 10, 20 usw., so erreicht man das, indem man die Zahlen in
ein Array schreibt, dieses sortiert und dann der DataSource-Eigenschaft die Collection übergibt mit
|
|
|
ListBox1.DataSource = Arraylist
|
|
|
In diesem kleinen Anwendungsbeispiel werden zunächst Zufallszahlen erzeugt und dann numerisch sortiert der ListBox zugewiesen.
|
|
|
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.DataSource = Nothing
al.Clear()
Dim Aufstellung As New ArrayList
Dim Liste As Int32
Dim Zufälle As Int32 = Convert.ToInt32(15)
Const Zahl As Integer = 199
If Zufälle > Zahl Then
MsgBox("Das ist so nicht möglich!!")
Exit Sub
End If
ListBox1.Sorted = False
Randomize()
Do Until Aufstellung.Count = Zufälle
Liste = Zahl * Rnd() + 1
If Not Aufstellung.Contains(Liste) Then
Aufstellung.Add(Liste)
End If
Loop
For Each x As Integer In Aufstellung
al.Add(x)
Next x
ListBox1.DataSource = al
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.DataSource = Nothing
al.Sort()
ListBox1.DataSource = al
End Sub
|
|
|
|
|
Windows-Version |
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
|
Download (6,6 kB)
|
Downloads bisher: [ 486 ]
|
|
|