Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Utility >> .

Come ordinare una lista per colonne

C # è un linguaggio di programmazione utilizzato da Microsoft per creare applicazioni informatiche . La listview nel vostro programma C # consente di visualizzare le colonne nella programmazione in modo da poter modificare eventuali bug . L'interfaccia IComparer è il compilatore programma più utilizzato sul sistema operativo Microsoft Windows . È possibile utilizzare questo per implementare le colonne del programma tramite la funzione ListView. Non devi essere un esperto di computer per implementare questo nel vostro programma . È possibile farlo da soli . Cose che ti serviranno
C # programma
Show More Istruzioni
1

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 >

/// il risultato del confronto . "0" se uguali , negativo se ' x' è minore di ' y' e positivo se ' x' è maggiore di ' y ' < /returns >

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

 

software © www.354353.com