¿Cómo ordenar un control listview por un número de columna específico en WinForms .NET 2.0? p.ej. Tengo una columna llamada "Número de línea" cuyo índice es 1, y quiero ordenar mis elementos en el cuadro vista de lista por orden ascendente.listview clasificación C# por columna específica
Respuesta
He utilizado este clasificador de columna en muchos proyectos Winform:
private void listView1_ColumnClick(object sender,
System.Windows.Forms.ColumnClickEventArgs e)
{
ListView myListView = (ListView)sender;
// Determine if clicked column is already the column that is being sorted.
if (e.Column == lvwColumnSorter.SortColumn)
{
// Reverse the current sort direction for this column.
if (lvwColumnSorter.Order == SortOrder.Ascending)
{
lvwColumnSorter.Order = SortOrder.Descending;
}
else
{
lvwColumnSorter.Order = SortOrder.Ascending;
}
}
else
{
// Set the column number that is to be sorted; default to ascending.
lvwColumnSorter.SortColumn = e.Column;
lvwColumnSorter.Order = SortOrder.Ascending;
}
// Perform the sort with these new sort options.
myListView.Sort();
}
Fuente: Click Here
hará. Gracias. – david
Existe ejemplo en MSDN ListView.ColumnClick article: muy corto y simple. En esencia, se escribe una ListViewItemComparer
y utilizarlo cada vez que se pulsa una columna:
class ListViewItemComparer : IComparer
{
private int col = 0;
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}
class MyForm : Form
{
// private System.Windows.Forms.ListView listView1;
// ColumnClick event handler.
private void ColumnClick(object o, ColumnClickEventArgs e)
{
this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
}
}
No entiendo por qué esto fue marcado. para una clasificación rápida, ¡funciona genial! ¿Alternar entre asc/desc eso es bastante fácil de hacer! ¡gracias de cualquier manera! –
Simplemente agrega "using System.Collections;" en su proyecto y esto es simple y funciona, para un tipo ascendente básico –
- 1. Ordenando un ListView por columna
- 2. C# ListView Ancho de columna Auto
- 3. C# Listview, eliminar la columna de basura
- 4. Jquery DataTables, ordenar por columna específica?
- 5. Clasificación de ListView por nombre del producto con adaptador personalizado?
- 6. aplicar strsplit a una columna específica en un data.frame
- 7. Scroll WPF Listview a la línea específica
- 8. C# tabla de clasificación por 2 columnas
- 9. ListView columna de tamaño automático
- 10. filas Omitir contienen columna específica de NA
- 11. R: agregado con función específica de columna
- 12. Winform DatagridView Clasificación de columna numérica
- 13. DataGridView Columna de clasificación con Business Objects
- 14. C++ Clasificación clase Array
- 15. Distinto en columna específica en Hive
- 16. Algoritmo de clasificación más rápido para una situación específica
- 17. Cómo establecer el texto del encabezado de columna para la columna específica en Datagridview C#
- 18. Ocultar columna ID en el control ListView
- 19. Ocultar la columna de wpf listview
- 20. Columna específica de orientación en la tabla
- 21. ¿Cómo seleccionar una columna específica en LINQ?
- 22. iPhone: CoreData, clasificación por 2 columnas
- 23. ordenar csv por columna
- 24. C# - Clasificación de cadenas por otra cadena como ayudante
- 25. MySQL: Obtener un número de fila (clasificación) para una fila específica
- 26. Agregar elemento al control Listview
- 27. imágenes de clasificación por color
- 28. matriz multidimensional clasificación por cadena
- 29. Clasificación por relevancia con MongoDB
- 30. Determinar la columna se hace clic en ListView
Ver esta implementación de Microsoft: https://support.microsoft.com/en-us/kb/319401 – Mangesh