Foros del Web » Programando para Internet » ASPX (.net) »

Ordenar un Listbox

Estas en el tema de Ordenar un Listbox en el foro de ASPX (.net) en Foros del Web. Hola estoy haciendo un programita donde tengo dos lista y 2 botones: uno para pasar el valor seleccionadoa la lista 2 y otro para regresarlo ...
  #1 (permalink)  
Antiguo 12/11/2006, 15:11
Avatar de christianMen  
Fecha de Ingreso: abril-2004
Ubicación: Tijuana
Mensajes: 37
Antigüedad: 20 años
Puntos: 1
Ordenar un Listbox

Hola estoy haciendo un programita donde tengo dos lista y 2 botones: uno para pasar el valor seleccionadoa la lista 2 y otro para regresarlo a la lista 1... El caso es que, quiero ordernar las dos lista, la 1er lista si logro ordenarla porque la lleno con una "SELECT ... ORDER BY Nombre ASC" pero la seguna lista no puedo ordenarla con un select porque son los elementos que estoy pasando de la 1er lista... Entonces eh estado investigando y dicen que listbox tiene la propiedad SORT que permite ordenar la lista, pero cuando quiero hacerlo, no me lo acepta asi lo hago:

Protected Sub Button10_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button10.Click
If ListaGpos.SelectedValue <> "" Then
ListaDeptos.Items.Add(New ListItem(ListaGpos.SelectedItem.Text, ListaGpos.SelectedValue))
ListaGpos.Items.Remove(ListaGpos.SelectedItem)
End If
ListaGpos.Items.Sorted
' Tambien he probado con: ListaGpos.Sorted
End Sub

Y bueno ni siquiera aparece "sort" en la lista de propiedades del listbox... Donde esta esa propiedad, o como la puedo utilizar para ordenar mi lista... Me podran ayudar, soy nuevo en VB.NET...
__________________
°-° Christian °-°
  #2 (permalink)  
Antiguo 20/11/2006, 09:46
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 17 años, 5 meses
Puntos: 0
Hola
La lista capturada es una coleccion de Items (strings en este caso?). Ordena la coleccion antes de mostrarla o despues que se hizo el postback (click del boton) . Busca ordenar la coleccion que a su vez es una propiedad del control List
Saludos
  #3 (permalink)  
Antiguo 20/11/2006, 16:33
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Tienes varias formas de hacerlo.
1.- Si lo estás llenando con un dataset puedes darle el sorting que necesitas.. ejemplo:
ds.Tables[0].DefaultView.Sort = "campo DESC";

2.- Puedes barrer los elementos de tu listbox y guardarlos en un arraylist aplicarle el sorte y regresarle a tu objeto ese array sorteado..
ejemplo:
Cita:
ArrayList array1 = New ArrayList ()
int i = 0;
for (i = 0;i<listbox1.Items.Count;i++)
array1.Add(listbox1.Items(i).Text);

array1.Sort()
listbox1.Items.Clear()
for (i=array1.Count-1;i<0;i--)
listbox1.Items.Add(array1(i))
3.- Hacer uso de la implementacion IComparer
Ejemplo:
http://www.experts-exchange.com/Prog..._21151194.html

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:36.