Compartir a través de


Cómo: Ordenar datos en una vista

Actualización: noviembre 2007

En este ejemplo se describe cómo ordenar los datos en una vista.

Ejemplo

En el ejemplo siguiente se crean un control ListBox simple y un control Button:

<Window x:Class="ListBoxSort_snip.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="ListBoxSort_snip" Height="300" Width="300">
    <DockPanel>
      <ListBox Name="myListBox" DockPanel.Dock="Top">
        <ListBoxItem>my</ListBoxItem>
        <!--Or you can set the content this way:-->
        <!--<ListBoxItem Content="my"/>-->
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>Sort</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        <ListBoxItem>ListBox</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
      </ListBox>
      <Button Click="OnClick" Width="30" Height="20" DockPanel.Dock="Top">Sort</Button>
    </DockPanel>
</Window>

El controlador de eventos Click del botón contiene la lógica necesaria para ordenar los elementos de ListBox en orden descendente. Puede hacerlo porque al agregar elementos a ListBox de esta manera se agregan al objeto ItemCollection de ListBox, y ItemCollection se deriva de la clase CollectionView. Si enlaza ListBox a una colección mediante la propiedad ItemsSource, puede utilizar la misma técnica para ordenar.

private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}

Siempre que tenga una referencia al objeto de vista, puede utilizar la misma técnica para ordenar el contenido de otras vistas de colección. Para obtener un ejemplo de cómo obtener una vista, consulte Cómo: Obtener la vista predeterminada de una recolección de datos. Para obtener otro ejemplo, vea Cómo: Ordenar una columna de GridView cuando se hace clic en un encabezado. Para obtener más información sobre vistas, consulte Enlazar a colecciones en Información general sobre el enlace de datos.

Para obtener un ejemplo de cómo aplicar la lógica de ordenación en Lenguaje de marcado de aplicaciones extensible (XAML), consulte Cómo: Ordenar y agrupar datos mediante una vista en XAML.

Vea también

Tareas

Cómo: Ordenar una columna de GridView cuando se hace clic en un encabezado

Cómo: Filtrar datos en una vista

Conceptos

Información general sobre el enlace de datos

Referencia

CustomSort

Otros recursos

Ejemplos de enlace de datos

Temas "Cómo..." sobre enlace de datos