Aprire il programma C # e quindi creare un nuovo progetto con l'icona "Nuovo " nella parte superiore della programma . Aggiungere il controllo ListView dal menu nella parte superiore del programma e poi formato il progetto in modo da avere abbastanza spazio per il testo
2
incollare questo codice l'opzione "Classe" della forma in . :
privato ListViewColumnSorter lvwColumnSorter ;
3
incollare questo codice nel " Costruttore " parte del modulo dopo la visualizzazione del messaggio " InitializeComponent " :
//Crea un'istanza di un sorter colonna ListView e assegnarlo
//per il controllo ListView . lvwColumnSorter = new ListViewColumnSorter ( ) ; this.listView1.ListViewItemSorter = lvwColumnSorter ;
4
incollare questo codice nella opzione "Carica" nella forma :
ColumnHeader ColumnHeader ; //Usato . per la creazione di intestazioni di colonna
ListViewItem ListViewItem , . . //Usato per la creazione di elementi ListView
//Assicurarsi che la vista è impostato per visualizzare i dettagli
listView1.View = View.Details ;
//Crea alcuni elementi ListView , comprensivi di nomi e cognomi . ListViewItem = new ListViewItem ( " Mario") ; listviewitem.SubItems.Add ( "Smith" ) ; this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Bob "); ListViewItem . SubItems.Add ( " Taylor " ) ; this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Kim " ) ; listviewitem.SubItems.Add ( " Zimmerman " ) ; this.listView1 . Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Olivia " ) ; listviewitem.SubItems.Add ( " Johnson " ) ; this.listView1.Items.Add ( ListViewItem ) ;
//Crea alcune intestazioni di colonna per i dati. ColumnHeader = new ColumnHeader (); columnheader.Text = "Nome" ; this.listView1.Columns.Add ( ColumnHeader ) ;
ColumnHeader = new ColumnHeader ( ) ;
columnheader.Text = "Cognome" ; this.listView1.Columns.Add ( ColumnHeader ) ;
//loop attraverso e dimensioni di ogni colonna per adattare il testo dell'intestazione della colonna . foreach ( ColumnHeader ch in this.listView1.Columns ) per
{
ch.Width = -2 ;
}
5
Incolla questo codice nella opzione " ColumnClick " sul controllo ListView :
ColumnHeader ColumnHeader ; //Usato per la creazione di intestazioni di colonna
ListViewItem ListViewItem ; //Usato per la creazione di elementi ListView
< . . . p > //Assicurarsi che la vista è impostato per visualizzare i dettagli
listView1.View = View.Details ;
//Creazione di alcuni elementi ListView , comprensivi di nomi e cognomi . ListViewItem = new ListViewItem ( " Mario") ; listviewitem.SubItems.Add ( "Smith" ) ; this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Bob "); ListViewItem . SubItems.Add ( " Taylor " ) ; this.listView1.Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Kim " ) ; listviewitem.SubItems.Add ( " Zimmerman " ) ; this.listView1 . Items.Add ( ListViewItem ) ;
ListViewItem = new ListViewItem ( " Olivia " ) ; listviewitem.SubItems.Add ( " Johnson " ) ; this.listView1.Items.Add ( ListViewItem ) ;
//Crea alcune intestazioni di colonna per i dati. ColumnHeader = new ColumnHeader (); columnheader.Text = "Nome" ; this.listView1.Columns.Add ( ColumnHeader ) ;
ColumnHeader = new ColumnHeader ( ) ;
columnheader.Text = "Cognome" ; this.listView1.Columns.Add ( ColumnHeader ) ;
//loop attraverso e dimensioni di ogni colonna per adattare il testo dell'intestazione della colonna . foreach ( ColumnHeader ch in this.listView1.Columns ) per
{
ch.Width = -2 ;
}
6
Clicca il opzione " Class Aggiungi " dal menu progetto e quindi incollare questo codice nel l'opzione di default :
utilizzando System.Collections ;
using System.Windows.Forms ;
/// ///Questa classe è una implementazione di interfaccia ' IComparer ' . ///< /summary > public class ListViewColumnSorter : IComparer { /// ///Specifica la colonna da ordinare ///< /summary > ; private int ColumnToSort ; . /// ///Specifica l'ordine in cui ordinare (cioè ' Crescente ' ) per ///< /summary > privato SortOrder OrderOfSort ; /// ///case insensitive confronto oggetto ///< /summary > privato CaseInsensitiveComparer ObjectCompare ; /// ///costruttore della classe . Inizializza vari elementi ///< /summary > ListViewColumnSorter pubblico ( ) per { //Inizializza la colonna a '0 ' ColumnToSort = 0; //Inizializza l'ordine di 'none' OrderOfSort = SortOrder.None ; //Inizializza l'oggetto CaseInsensitiveComparer ObjectCompare = new CaseInsensitiveComparer ( ) ; } /// ///Questo metodo viene ereditato dall'interfaccia IComparer . Esso mette a confronto i due oggetti passati usando una custodia confronto insensibile . ///< /Summary> /// Primo oggetto da confrontare /// secondo oggetto da confrontare < /param > /// public int Compare ( oggetto x , oggetto y) { int compareResult ; ListViewItem listviewX , listviewY ; //Fusioni gli oggetti da confrontare con ListViewItem oggetti listviewX = ( ListViewItem ) x ; listviewY = ( ListViewItem ) y ; //confrontare le due voci compareResult = Calcola il corretto valore di ritorno sulla base di confronto oggetto se ( OrderOfSort == SortOrder.Ascending ) per { //è selezionata sorta Crescente , tornare normale risultato di confrontare il funzionamento ritorno compareResult ; } else if ( OrderOfSort == SortOrder.Descending ) per { //è selezionata discendente Ordina , tornare risultato negativo di confrontare il funzionamento ritorno ( - compareResult ) ; } altro { //Return ' 0 ' per indicare che sono uguali return 0; } } /// ///Ottiene o imposta il numero della colonna a cui applicare l'operazione di ordinamento ( il default è '0 ') . ///< /summary > public int SortColumn { set
Informazioni correlate
software © www.354353.com