ordenar lista de numeros

24/07/2006 - 16:31 por ciros | Informe spam
saludos

tengo un formulario en el tengo 1 textbox, 2 buton(a y b), 1 listbox y
2 radiobutton(rdba y rdbb)
en el textbox ingreso numeros y al clickear el buton a se añaden al
listbox despues selecciono rdba =orden ascendente o rdbb =orden
descendente y despues clickeo el buton b se ordenan los numeros
dependiendo de que radiobuton haya elegido por ejemplo:
en el listbox tengo los siguientes numeros
2
4
9
7
6
78
al elegir rdba la lista debe quedar asi
2
4
6
7
9
78
o si elijo rdbb debe quedar asi
78
9
7
6
4
2
ya intente con el .sorted pero no funciono
les agradezco su ayuda
 

Leer las respuestas

#1 Jesús López
24/07/2006 - 18:07 | Informe spam
Teniendo en el formulario SortedListForm:

(1) La caja de texto NumberTextBox donde el usuario teclea números
(2) El ListBox NumbersListBox donde se muestra la lista de números
(3) el botón AddBttn para añadir números
(4) el botón SortAscBttn para ordenar la lista de forma ascendente
(5) el botón SortDescBttn para ordenar la lista de forma descendente.


Este es el código:


Imports System.ComponentModel

Public Class SortedListForm

Dim NumberList As New List(Of Integer)

Dim NumberBindingSource As New BindingSource

Private Sub SortedListForm_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
NumberBindingSource.DataSource = NumberList
Me.NumbersListBox.DataSource = NumberBindingSource
End Sub

Private Sub AddBttn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles AddBttn.Click
Me.NumberList.Add(Integer.Parse(Me.NumberTextBox.Text))
Me.NumberBindingSource.ResetBindings(False)
End Sub

Private Sub SortAscBttn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles SortAscBttn.Click
Me.NumberList.Sort(AddressOf CompareAscending(Of Integer))
Me.NumberBindingSource.ResetBindings(False)

End Sub

Private Function CompareAscending(Of T)(ByVal x As T, ByVal y As T) As
Integer
Dim Comparable As IComparable = DirectCast(x, IComparable)
Return Comparable.CompareTo(y)
End Function

Private Function CompareDescending(Of T)(ByVal x As T, ByVal y As T) As
Integer
Dim Comparable As IComparable = DirectCast(x, IComparable)
Return -Comparable.CompareTo(y)
End Function


Private Sub SortDescBttn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles SortDescBttn.Click
Me.NumberList.Sort(AddressOf CompareDescending(Of Integer))
Me.NumberBindingSource.ResetBindings(False)

End Sub
End Class




"ciros" escribió en el mensaje
news:
saludos

tengo un formulario en el tengo 1 textbox, 2 buton(a y b), 1 listbox y
2 radiobutton(rdba y rdbb)
en el textbox ingreso numeros y al clickear el buton a se añaden al
listbox despues selecciono rdba =orden ascendente o rdbb =orden
descendente y despues clickeo el buton b se ordenan los numeros
dependiendo de que radiobuton haya elegido por ejemplo:
en el listbox tengo los siguientes numeros
2
4
9
7
6
78
al elegir rdba la lista debe quedar asi
2
4
6
7
9
78
o si elijo rdbb debe quedar asi
78
9
7
6
4
2
ya intente con el .sorted pero no funciono
les agradezco su ayuda

Preguntas similares