perusteella käyttämällä edellisen esimerkin , näemme miten, Visual Basic. net , lajitella tiedot ListView joku hänen sarakkeita.
Hanke ennen lisäät kaksi painiketta valitaksesi mitä on haluttu järjestys. Kuten kuvassa alla:

Myöhemmin samassa muodossa koodi luomme kaksi uutta luokkaa (OrdenarPorNombre ja Järjestys Size) ja tapahtumat painiketta nuolla asetimme ListView ListViewItemSorter ominaisuuden uusi esiintymä luokan vastaavan valitussa järjestyksessä. Koodi on lyhyt, joten älä maksa paljon analyysiä. Sitten jättää kaikki koodi muotoa:
Tuonti System.IO Public Class Form1 Private Sub Form1_Load (ByVal lähettäjälle System.Object-_ ByVal e Kuten System.EventArgs) kahvat MyBase.Load Dim d As New DirectoryInfo ("C: \ Windows") ListView1.View = View.Details ListView1.FullRowSelect = True ListView1.BeginUpdate () ListView1.Items.Clear () Jokaisen F FileInfo In d.GetFiles Dim alkio uutena ListViewItem (f.Name) item.SubItems.Add (f.length) item.SubItems.Add (f.CreationTime) item.SubItems.Add (f.LastWriteTime) item.SubItems.Add (f.LastAccessTime) ListView1.Items.Add (kohta) Seuraava ListView1.EndUpdate () End Sub Private Sub Button1_Click (ByVal lähettäjälle System.Object-_ ByVal e Kuten System.EventArgs) Kahvat Button1.Click "Nimen ListView1.ListViewItemSorter = Uusi ordenarPorNombre End Sub Private Sub Button2_Click (ByVal lähettäjälle System.Object-_ ByVal e Kuten System.EventArgs) Kahvat Button2.Click 'Järjestä koon ListView1.ListViewItemSorter = Uusi ordenarPorTamaño End Sub End Class Luokka ordenarPorNombre Toteuttaa IComparer
Public Function Vertaa (ByVal x As Object, ByVal y As Object) _ As Integer Toteuttaa System.Collections.IComparer.Compare Dim item1 Koska ListViewItem = CType (x, ListViewItem) Dim item2 Koska ListViewItem = CType (y, ListViewItem) Paluu String.Compare (item1.Text, item2.Text) End Function End Class
Luokka ordenarPorTamaño Toteuttaa IComparer Public Function Vertaa (ByVal x As Object, ByVal y As Object) _ As Integer Toteuttaa System.Collections.IComparer.Compare Dim item1 Koska ListViewItem = CType (x, ListViewItem) Dim item2 Koska ListViewItem = CType (y, ListViewItem) Math.Sign Return (CLng (item1.SubItems (1). Text) - CLng (item2.SubItems (1). Text)) End Function End Class
Kuten aina, toivon koodi on hyötyä.
Tiedot Bitacoras.com ...
Rate in Bitacoras.com: käyttäen perustana Edellisessä esimerkissä näemme, miten, Visual Basic. Net ListView lajitella tietoja mistään sen sarakkeita. Aiemman hankkeen vielä kaksi painikkeilla joka on järjestys .....
Ok, hienoa, mutta ... tämä vain nousevassa ja tilata ylös ja alas, jolloin klikkaa sarakkeen otsikkoa?
Hi Laura:
Voit tilata nimen laskevassa täytyy vain kääntää muuttujia palautetaan luokassa OrdenarPorNombre ... Sinun täytyy muuttaa:
Paluu String.Compare (item1.Text, item2.Text)
tämä:
Paluu String.Compare (item2.Text, item1.Text)
ja jos numerojärjestyksessä on käännettävä merkki palauttama ordenarPorTamaño tapauksessa tähän muutoksia:
Math.Sign Return (CLng (item1.SubItems (1). Text) - CLng (item2.SubItems (1). Text))
tämä:
Paluu Math.Sign () CLng (item1.SubItems (1). Text) - CLng (item2.SubItems (1). Text)) * -1)
ja lopuksi kertoa teille, että järjestys, jossa Mat ja ListView ei kommentoida tänne, koska haluan omistaa erillinen artikkeli.
Tervehdys, Elisa
Ja kun tilaat minkä tahansa kentän laskevassa päivämäärä Date Created mm.
Lisätään seuraava luokka ja liittää sen haluamaasi painiketta.
Luokka ordenarPorFechaCreacion
Toteuttaa IComparer
Public Function Vertaa (ByVal x As Object, ByVal y As Object) _
As Integer Toteuttaa System.Collections.IComparer.Compare
Dim item1 Koska ListViewItem = CType (x, ListViewItem)
Dim item2 Koska ListViewItem = CType (y, ListViewItem)
Paluu Date.Compare (Date.parse (item1.SubItems (2). Text), Date.parse (item2.SubItems (2). Text))
End Function
End Class
Hei ihmiset.
C # kuten olisi lause on samassa järjestyksessä?
[...] [...]
dobry alku
Siinä tapauksessa, jos minulla on lista niin
23 = 5 +5 +13
5 = 1 +1 +1 +2
4 = 3 +1
jne. .....
Voin tehdä niin tilaan sen numerot, että jos tulos on I 231 = 100 +100 +31 ei kuitenkaan sen jälkeen 23 = 5 +5 +13
Hyvää iltapäivää,
Pahoittelemme häiriötä, mutta tietää, miten voit lajitella kahden sarakkeen kerralla? jotain tällaista:
XYZ
aba -> 1
BAA -> 2
ja b -> 3
ja jäljellä:
XYZ
ja b -> 3
aba -> 1
BAA -> 2
Super kiitollinen jos voisitte auttaa ja jos ei, kiitos lähettämistä samat tiedot, jotka oli hyötyä myös minulle.
Ja jos haluat mennessä ..... jotka eivät ole vain Luontiajankohtia