Teď jste offline a čekáte, až se znova připojí internet.

Jak ovládací prvek ListView seřadit podle sloupce v jazyce Visual Basic.ČISTÁ nebo Visual Basic 2005

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:319399
Pro aplikace Microsoft Visual C#.NET verze tohoto článek naleznete v tématu 319401.
Tato verze aplikace Microsoft Visual Basic 6.0 článek naleznete v tématu 170884.
Souhrn
Tento podrobný článek popisuje, jak lze řadit Zobrazení ListView řídit sloupec v jazyce Visual Basic.NET nebo jazyka Visual Basic 2005 aplikace.

Když pracujete Zobrazení ListView ovládací prvek, můžete seřadit jeho obsah založený na konkrétní sloupec. Příkladem tohoto typu funkce dochází v aplikaci Windows Explorer program při zobrazení obsahu složky na pevném disku. Podrobnosti Zobrazení Průzkumníka Windows se zobrazí informace o souborech v této složce. Pro například můžete zobrazit název souboru, velikost, typ souboru a datum, Soubor byl změněn. Po klepnutí na záhlaví sloupce, je seznam Uspořádáno vzestupně podle sloupce. Klepnete-li stejný sloupec je opět záhlaví sloupce seřazeny v sestupném pořadí.

Příklad v tomto článku definuje třídu, která implementuje IComparer rozhraní. Navíc v tomto příkladu Porovnat Metoda CaseInsenstiveComparer Třída provádět srovnání skutečné položky. Všimněte si, že Tato metoda porovnání není velká a malá písmena ("Apple" se považuje za stejné jako "apple"). Všimněte si také, že všechny sloupce v tomto příkladu jsou Seřadit způsobem "text". Chcete-li seřadit jiným způsobem (například číselně) můžete nahradit následující řádek kódu, přičemž přístup k řazení, který chcete použít:
compareResult = ObjectCompare.Compare(listviewX.SubItems(ColumnToSort).Text, listviewY.SubItems(ColumnToSort).Text)				
back to the top

Jak vytvořit ukázkový projekt

  1. Vytvoření nového jazyka Visual Basic.NET nebo jazyka Visual Basic 2005 Windows aplikace project. Ve výchozím nastavení je vytvořen formulář Form1.

    Poznámka: Je nutné změnit kód v jazyce Visual Basic 2005. Ve výchozím nastavení vytvoří aplikace Visual Basic dva soubory projektu při vytvoření projektu model Windows Forms. Pokud formulář pojmenován Formulář1, dva soubory, které představují formuláře jsou pojmenovány, Form1.vb a Form1.Designer.vb. Píšete kód v souboru Form1.vb. Návrhář model Windows Forms zapíše kód v souboru Form1.Designer.vb. Návrhář model Windows Forms používá klíčové slovo částečné provádění formulář1 rozdělit do dvou samostatných souborů. Toto chování zabrání je proloženo kódu generovaném kódu.

    Další informace o nová vylepšení jazyka Visual Basic 2005 naleznete na webu Microsoft Developer Network (MSDN): Další informace o částečné třídy a Návrhář model Windows Forms naleznete na webu MSDN:
  2. Přidat Zobrazení ListView řízení do formuláře Form1. Velikost formuláře je několik cm široký podle několik cm vysoké.
  3. Vložte následující kód do třídy formuláře:
    Private lvwColumnSorter As ListViewColumnSorter					
  4. Vložte následující kód do konstruktoru formuláře, Po volání InitializeComponent Metoda:
    ' Create an instance of a ListView column sorter and assign it ' to the ListView control.lvwColumnSorter = New ListViewColumnSorter()Me.ListView1.ListViewItemSorter = lvwColumnSorter					
  5. Vložte následující kód do Zatížení událost formuláře:
    Dim columnheader As ColumnHeader    ' Used for creating column headers.Dim listviewitem As ListViewItem    ' Used for creating ListView items.' Make sure that the view is set to show details.ListView1.View = View.Details' Create some ListView items consisting of first and last names.listviewitem = New ListViewItem("Mike")listviewitem.SubItems.Add("Nash")Me.ListView1.Items.Add(listviewitem)listviewitem = New ListViewItem("Kim")listviewitem.SubItems.Add("Abercrombie")Me.ListView1.Items.Add(listviewitem)listviewitem = New ListViewItem("Sunil")listviewitem.SubItems.Add("Koduri")Me.ListView1.Items.Add(listviewitem)listviewitem = New ListViewItem("Birgit")listviewitem.SubItems.Add("Seidl")Me.ListView1.Items.Add(listviewitem)' Create some column headers for the data.columnheader = New ColumnHeader()columnheader.Text = "First Name"Me.ListView1.Columns.Add(columnheader)columnheader = New ColumnHeader()columnheader.Text = "Last Name"Me.ListView1.Columns.Add(columnheader)' Loop through and size each column header to fit the column header text.For Each columnheader In Me.ListView1.Columns    columnheader.Width = -2Next					
  6. Vložte následující kód do ColumnClick události Zobrazení ListView:
    ' Determine if the clicked column is already the column that is ' being sorted.If (e.Column = lvwColumnSorter.SortColumn) Then    ' Reverse the current sort direction for this column.    If (lvwColumnSorter.Order = SortOrder.Ascending) Then        lvwColumnSorter.Order = SortOrder.Descending    Else        lvwColumnSorter.Order = SortOrder.Ascending    End IfElse    ' Set the column number that is to be sorted; default to ascending.    lvwColumnSorter.SortColumn = e.Column    lvwColumnSorter.Order = SortOrder.AscendingEnd If' Perform the sort with these new sort options.Me.ListView1.Sort()					
  7. V Projekt nabídky, klepněte na tlačítko Přidání třídy Přidání nové třídy do projektu.
  8. Nahradit všechny výchozí kód nové třídy se Následující kód:
    Imports System.CollectionsImports System.Windows.FormsPublic Class ListViewColumnSorter    Implements System.Collections.IComparer    Private ColumnToSort As Integer    Private OrderOfSort As SortOrder    Private ObjectCompare As CaseInsensitiveComparer    Public Sub New()        ' Initialize the column to '0'.        ColumnToSort = 0        ' Initialize the sort order to 'none'.        OrderOfSort = SortOrder.None        ' Initialize the CaseInsensitiveComparer object.        ObjectCompare = New CaseInsensitiveComparer()    End Sub    Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare        Dim compareResult As Integer        Dim listviewX As ListViewItem        Dim listviewY As ListViewItem        ' Cast the objects to be compared to ListViewItem objects.        listviewX = CType(x, ListViewItem)        listviewY = CType(y, ListViewItem)        ' Compare the two items.        compareResult = ObjectCompare.Compare(listviewX.SubItems(ColumnToSort).Text, listviewY.SubItems(ColumnToSort).Text)        ' Calculate the correct return value based on the object         ' comparison.        If (OrderOfSort = SortOrder.Ascending) Then            ' Ascending sort is selected, return typical result of             ' compare operation.            Return compareResult        ElseIf (OrderOfSort = SortOrder.Descending) Then            ' Descending sort is selected, return negative result of             ' compare operation.            Return (-compareResult)        Else            ' Return '0' to indicate that they are equal.            Return 0        End If    End Function    Public Property SortColumn() As Integer        Set(ByVal Value As Integer)            ColumnToSort = Value        End Set        Get            Return ColumnToSort        End Get    End Property    Public Property Order() As SortOrder        Set(ByVal Value As SortOrder)            OrderOfSort = Value        End Set        Get            Return OrderOfSort        End Get    End PropertyEnd Class					
  9. Uložit, sestavit a spustit ukázkový projekt.
  10. Klepněte na různých záhlaví sloupců v Zobrazení ListView ovládací prvek. Pokud klepnete na záhlaví, obsah Zobrazení ListView řízení jsou seřazeny ve vzestupném pořadí podle sloupce, klepnutí na tlačítko. Klepnete-li na stejné záhlaví sloupce znovu, je seřazen sloupec v sestupném pořadí.
back to the top

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 319399 - Poslední kontrola: 05/19/2011 11:38:00 - Revize: 5.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB319399 KbMtcs
Váš názor
r varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("