λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> Λογισμικό Utility

Πώς να Ταξινόμηση ένα ListView από Στήλες

C # είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται από τη Microsoft για τη δημιουργία εφαρμογών πληροφορικής . Η listview σε C # πρόγραμμα σας επιτρέπει να δείτε τις στήλες στον προγραμματισμό σας, ώστε να μπορείτε να επεξεργαστείτε οποιαδήποτε σφάλματα . Η διεπαφή IComparer είναι η πιο κοινή compiler πρόγραμμα που χρησιμοποιείται για το λειτουργικό σύστημα Microsoft Windows. Μπορείτε να χρησιμοποιήσετε αυτό για να εφαρμόσει τις στήλες στο πρόγραμμά σας μέσω της λειτουργίας listview . Δεν χρειάζεται να είναι κανείς ειδικός υπολογιστή για να εφαρμόσουν αυτό στο πρόγραμμά σας . Μπορείτε να το κάνετε μόνοι σας . Τα πράγματα που θα χρειαστείτε
C # πρόγραμμα

Παρουσίαση Περισσότερες οδηγίες
Η 1

Ανοίξτε C # πρόγραμμα και στη συνέχεια να δημιουργήσετε ένα νέο έργο από το εικονίδιο " Νέο " στην κορυφή της προγράμματος . Προσθέστε το στοιχείο ελέγχου ListView από το μενού στο πάνω μέρος του προγράμματος και στη συνέχεια το μέγεθος του έργου , έτσι ώστε να έχουν αρκετό χώρο για το κείμενο 2

Επικολλήστε αυτόν τον κώδικα σε σας " Class" επιλογή της μορφής . :

ιδιωτικό ListViewColumnSorter lvwColumnSorter ?
εικόνων 3

Επικολλήστε αυτόν τον κώδικα μέσα στο τμήμα του εντύπου " Κατασκευαστής " μετά την εμφάνιση του " InitializeComponent " προτροπή :

//Δημιουργήστε ένα στιγμιότυπο μιας ListView ταξινομητή στήλη και να την αντιστοιχίσετε

//στον έλεγχο ListView . lvwColumnSorter = νέα ListViewColumnSorter ( ) ? this.listView1.ListViewItemSorter = lvwColumnSorter ?
Η 4

Επικολλήστε αυτόν τον κώδικα στο "Load " επιλογή υπό τη μορφή :

ColumnHeader columnheader ? //Μεταχειρισμένο για τη δημιουργία κεφαλίδες στήλης

ListViewItem listviewitem ? . . . //Χρησιμοποιείται για τη δημιουργία στοιχείων listview

//Βεβαιωθείτε ότι η θέα είναι ρυθμισμένη να δείχνει λεπτομέρειες

listView1.View = View.Details ?

//Δημιουργία κάποια στοιχεία listview που αποτελείται από όνομα και το επώνυμο . listviewitem = νέα ListViewItem ( " John" ) ? listviewitem.SubItems.Add ( " Smith ")? this.listView1.Items.Add ( listviewitem ) ?

listviewitem = νέα ListViewItem ( " Bob ")? listviewitem . SubItems.Add ( " Taylor ")? this.listView1.Items.Add ( listviewitem ) ?

listviewitem = νέα listViewItem ( " Kim" ) ? listviewitem.SubItems.Add ( " Zimmerman ")? this.listView1 . Items.Add ( listviewitem ) ?

listviewitem = νέα listViewItem ( " Olivia ")? listviewitem.SubItems.Add ( "Johnson ")? this.listView1.Items.Add ( listviewitem ) ?

//Δημιουργήστε μερικές επικεφαλίδες στήλης για τα δεδομένα . columnheader = νέα ColumnHeader ( ) ? columnheader.Text = " Όνομα "? this.listView1.Columns.Add ( columnheader ) ?

columnheader = νέα ColumnHeader ( ) ?

columnheader.Text = " Επώνυμο "? this.listView1.Columns.Add ( columnheader ) ?

//Loop μέσω και του μεγέθους κάθε επικεφαλίδα στήλης για να χωρέσει το κείμενο της κεφαλίδας στήλης . foreach ( ColumnHeader ch σε this.listView1.Columns )

{

ch.Width = -2 ?

}
5

Επικόλληση κώδικα στην " ColumnClick " επιλογή για τον έλεγχο listview : .

ColumnHeader columnheader ? //Χρησιμοποιείται για τη δημιουργία κεφαλίδες στήλης

ListViewItem listviewitem ? //Χρησιμοποιείται για τη δημιουργία στοιχείων listview
<. p > //Βεβαιωθείτε ότι η θέα είναι ρυθμισμένη να δείχνει λεπτομέρειες

listView1.View = View.Details ? .

//Δημιουργία κάποια στοιχεία listview που αποτελείται από όνομα και το επώνυμο . listviewitem = νέα ListViewItem ( " John" ) ? listviewitem.SubItems.Add ( " Smith ")? this.listView1.Items.Add ( listviewitem ) ?

listviewitem = νέα ListViewItem ( " Bob ")? listviewitem . SubItems.Add ( " Taylor ")? this.listView1.Items.Add ( listviewitem ) ?

listviewitem = νέα listViewItem ( " Kim" ) ? listviewitem.SubItems.Add ( " Zimmerman ")? this.listView1 . Items.Add ( listviewitem ) ?

listviewitem = νέα listViewItem ( " Olivia ")? listviewitem.SubItems.Add ( "Johnson ")? this.listView1.Items.Add ( listviewitem ) ?

//Δημιουργήστε μερικές επικεφαλίδες στήλης για τα δεδομένα . columnheader = νέα ColumnHeader ( ) ? columnheader.Text = " Όνομα "? this.listView1.Columns.Add ( columnheader ) ?

columnheader = νέα ColumnHeader ( ) ?

columnheader.Text = " Επώνυμο "? this.listView1.Columns.Add ( columnheader ) ?

//Loop μέσω και του μεγέθους κάθε επικεφαλίδα στήλης για να χωρέσει το κείμενο της κεφαλίδας στήλης . foreach ( ColumnHeader ch σε this.listView1.Columns )

{

ch.Width = -2 ?

}
Η

6 Κάντε κλικ στο " Προσθήκη κατηγορίας " επιλογή από το μενού του έργου και στη συνέχεια να επικολλήσετε αυτόν τον κώδικα στο default επιλογή:

χρησιμοποιώντας System.Collections ?

χρησιμοποιώντας System.Windows.Forms ?

///


///Αυτή η κατηγορία είναι μια υλοποίηση του interface του « IComparer » .

///


δημόσια τάξη ListViewColumnSorter : IComparer

{

///


///Καθορίζει η στήλη να διευθετηθούν

///

?

ιδιωτικού int ColumnToSort ? .

///


///Καθορίζει τη σειρά με την οποία να ταξινομήσετε ( δηλαδή « Αύξουσα )

///


ιδιωτικό sortorder OrderOfSort ?

///


///Case insensitive comparer αντικείμενο

///


ιδιωτικό CaseInsensitiveComparer ObjectCompare ?

///


///Κλάση κατασκευαστή . Προετοιμάζει διάφορα στοιχεία

///


δημόσια ListViewColumnSorter ( ) {


//Η προετοιμασία της στήλη στο '0 '

ColumnToSort = 0 ?

//Αρχικοποίηση τη σειρά ταξινόμησης 'none'

OrderOfSort = SortOrder.None ?

//Αρχικοποίηση του αντικειμένου CaseInsensitiveComparer

ObjectCompare = νέα CaseInsensitiveComparer ( ) ? }


///


///η μέθοδος αυτή κληρονομείται από τη διεπαφή IComparer . Συγκρίνει τα δύο αντικείμενα πέρασαν χρησιμοποιώντας πεζά ή κεφαλαία σύγκριση .

///


/// πρώτο αντικείμενο που πρέπει να συγκριθούν <;/param >

/// δεύτερο αντικείμενο να συγκριθεί

/// το αποτέλεσμα της σύγκρισης . " 0 " εάν ίσα , αρνητική, αν x είναι μικρότερο από 'y' και θετική, αν x είναι μεγαλύτερος από ' y'

public int Σύγκριση (αντικείμενο x , y αντικείμενο )

{

int compareResult ?

ListViewItem listviewX , listviewY ?

//Πρωταγωνιστές τα αντικείμενα πρέπει να συγκριθεί με ListViewItem αντικείμενα

listviewX = ( ListViewItem ) x ?

listviewY = ( ListViewItem ) y ?

//Συγκρίνετε τα δύο στοιχεία

compareResult = Υπολογίστε τη σωστή τιμή επιστροφής με βάση τη σύγκριση αντικειμένου

αν ( OrderOfSort == SortOrder.Ascending )

{ επιλέγεται

//αύξουσα σειρά ταξινόμησης , επιστρέψετε στην κανονική αποτέλεσμα να συγκρίνουν τη λειτουργία

επιστρέψει compareResult ?

}

αλλιώς αν έχει επιλεγεί ( OrderOfSort == SortOrder.Descending )

{

//Φθίνουσα ταξινόμηση , επιστρέφουν αρνητικό αποτέλεσμα της λειτουργία σύγκρισης

επιστρέψει ( - compareResult ) ?

}

άλλο

{

//Επιστροφή » 0 »για να δείχνουν ότι είναι ίση

επιστροφή 0?

} }


///


///παίρνει ή ορίζει τον αριθμό της στήλης στην οποία να εφαρμόσει τη λειτουργία διαλογής ( Προεπιλογές στο '0 ' ) .

///


public int SortColumn

{

που

{

ColumnToSort = τιμή ?

}

πάρει

{

επιστρέψει ColumnToSort ?

} }


///


///παίρνει ή θέτει τη σειρά ταξινόμησης για την εφαρμογή ( για παράδειγμα , « Ascending » ή « Φθίνουσα » ) .

///


δημόσια sortorder Παραγγελία

{

που

{

OrderOfSort = τιμή ?

}

πάρει

{

επιστρέψει OrderOfSort ?

} }


}
Η

7 Αποθηκεύστε το build από το μενού στην κορυφή και στη συνέχεια να εκτελέσετε το πρόγραμμα . Κάντε κλικ στις επικεφαλίδες στήλης για τον έλεγχο listview να ανοίξει τις στήλες .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα