programa de C #
Mostrar más instrucciones
1
Abra su programa de C # y luego crear un nuevo proyecto desde el icono " Nuevo" en la parte superior de la programa . Agregue el control ListView en el menú en la parte superior del programa y luego el tamaño del proyecto a fin de tener suficiente espacio para el texto
2
Pega este código en su opción de " clase" de la forma . :
privado lvwColumnSorter ListViewColumnSorter ;
3
pega este código en la parte de " Constructor " de la forma después de que aparezca el mensaje " InitializeComponent ":
//Crear una instancia de una columna clasificador ListView y asignarle
//para el control ListView. lvwColumnSorter ListViewColumnSorter = new (); this.listView1.ListViewItemSorter = lvwColumnSorter ;
4
pegar este código en la opción "Load" en la forma:
ColumnHeader columnheader ; //Usado . para la creación de títulos de las columnas
ListViewItem ListViewItem , . . //se utiliza para la creación de elementos de ListView
//Asegúrese de que la vista está configurada para mostrar detalles
ListView1.View = View.Details ;
//Cree algunos elementos ListView que consisten en nombres y apellidos . ListViewItem ListViewItem = new ( "John "); listviewitem.SubItems.Add ( " Smith "); this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Bob "); ListViewItem . SubItems.Add ( " Taylor "); this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Kim" ) ; listviewitem.SubItems.Add ( " Zimmerman "); this.listView1 . Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Olivia "); listviewitem.SubItems.Add ( "Johnson "); this.listView1.Items.Add ( ListViewItem ) ;
< p > //Crear algunas cabeceras de columna para los datos. columnheader ColumnHeader = new (); columnheader.Text = " Nombre" ; this.listView1.Columns.Add ( columnheader ) ;
columnheader ColumnHeader = new ();
columnheader.Text = "Last Name" ; this.listView1.Columns.Add ( columnheader ) ;
//Recorrer y tamaño cada encabezado de columna para ajustar el texto del encabezado de columna . foreach ( ColumnHeader ch en this.listView1.Columns )
{
ch.Width = -2 ;
}
5
Pegue este código en la opción " ColumnClick " en el control listview :
ColumnHeader columnheader ; //Se usa para crear encabezados de columna
ListViewItem ListViewItem ; //Se utiliza para la creación de elementos de ListView
< . . . p > //Asegúrese de que la vista está configurada para mostrar detalles
listView1.View = View.Details ;
//Crear algunos elementos ListView que consisten en nombres y apellidos . ListViewItem ListViewItem = new ( "John "); listviewitem.SubItems.Add ( " Smith "); this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Bob "); ListViewItem . SubItems.Add ( " Taylor "); this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Kim" ) ; listviewitem.SubItems.Add ( " Zimmerman "); this.listView1 . Items.Add ( ListViewItem ) ;
ListViewItem ListViewItem = new ( " Olivia "); listviewitem.SubItems.Add ( "Johnson "); this.listView1.Items.Add ( ListViewItem ) ;
< p > //Crear algunas cabeceras de columna para los datos. columnheader ColumnHeader = new (); columnheader.Text = " Nombre" ; this.listView1.Columns.Add ( columnheader ) ;
columnheader ColumnHeader = new ();
columnheader.Text = "Last Name" ; this.listView1.Columns.Add ( columnheader ) ;
//Recorrer y tamaño cada encabezado de columna para ajustar el texto del encabezado de columna . foreach ( ColumnHeader ch en this.listView1.Columns )
{
ch.Width = -2 ;
}
6
Haga clic en el " Agregar clase " opción en el menú proyecto y pega este código en la opción por defecto :
usando System.Collections ;
using System.Windows.Forms ;
/// ///Esta clase es una implementación de la interfaz ' IComparer . ///
pública ListViewColumnSorter clase : IComparer
{
/// ///Especifica la columna a ordenar ///< /summary> ; ColumnToSort int privado; . /// ///Especifica el orden en el que se ordenan ( es decir, ' Ascendente ' ) /// privado SortOrder OrderOfSort ; /// //Case /insensible comparador objeto /// privado CaseInsensitiveComparer ObjectCompare ; / /constructor de la clase ////. Inicializa diversos elementos /// ListViewColumnSorter pública () { //Inicializar la columna a '0 ' ColumnToSort = 0 ; //Inicializar el orden de clasificación de ' none' OrderOfSort = SortOrder.None ; //Inicializar el objeto CaseInsensitiveComparer ObjectCompare CaseInsensitiveComparer = new (); } /// ///Este método se hereda de la interfaz IComparer . Se comparan los dos objetos pasan mediante una comparación insensible caso. // /// primer objeto a comparar /< ;/param > /// segundo objeto a ser comparado < /param > /// public int Compare (objeto x , objeto y) { int compareResult ; ListViewItem listviewX , listviewY ; //mayorista los objetos a ser comparado con ListViewItem objetos listviewX = ( ListViewItem ) x; listviewY = ( ListViewItem ) y; //Compara los dos artículos compareResult = Calcular valor de retorno correcto basado en la comparación de objetos if ( OrderOfSort == SortOrder.Ascending ) { se selecciona //ascendente en orden , vuelva resultado normal de operación de comparación regreso compareResult ; } else if ( OrderOfSort SortOrder.Descending ==) { se selecciona por orden decreciente //, vuelva resultado negativo de comparar el funcionamiento retorno ( - compareResult ) ; } más { //retorno ' 0 "para indicar que son iguales return 0; } } /// ///Obtiene o establece el número de la columna a la que desea aplicar la operación de clasificación ( el valor predeterminado es '0 ' ) . ///< /summary> public int SortColumn { conjunto { ColumnToSort = valor; } obtener { regreso ColumnToSort ; } } /// ///Obtiene o establece el orden de clasificar a aplicar ( por ejemplo, ' Ascendente ' o ' Descendente ' ) . /// pública SortOrder Orden { establece { OrderOfSort = valor; } obtener { regreso OrderOfSort ; } } } Guardar la acumulación en el menú en la parte superior y luego ejecute el programa. Haga clic en los encabezados de las columnas en el control de vista de lista para abrir las columnas.
7