DevTrain Startseite SharePoint Camp ? In 5 Tagen zum SharePoint Profi!  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: VB.NET | Thema: ListView manuell sortieren | Von: mirmi li ( 18.04.2005 11:39)

Hallo :)

Habe mir den unten angeführten Comparer in mein Prog eingefügt. (Hab ich in einem Forum gefunden...)
Ich kann meine liste mit dem Comparer nur 1x sortieren.

Leider funzt es nicht, wenn ich die Liste aus meinen Arrays neu schreibe.
Sobald die erste Zeile erstellt wurde, also item(0), springt der Comparer an und bekommt natürlich eine Fehlermeldung, weil die Vergleichsliste iy keine Einträge enthält. Klar, sie ist ja auch noch nicht wiederbefüllt.

Ich würde den comparer gerne manuell anstarten.
momentan wird er so aktiviert:
varfrmMachines.lstViewMachines.ListViewItemSorter = New ColumnComparer(1, varfrmMachines.lstViewMachines.Sorting)

Leider ist er ab diesem Zeitpunkt immer aktiv. Gibt es eine Möglichkeit, die Sortierung manuell zu starten?
Ich muss in meinem Prog den ListView mehrmals löschen und neu befüllen. Erst nach dem Befüllen, soll nach der 2. Spalte sortiert werden.

Bitte um einen Tip
grüße
mirmi

Comparer-Code:
Public Class ColumnComparer
Implements IComparer
Private _ColumnIndex As System.Int32
Private _Sorting As System.Windows.Forms.SortOrder

Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements

System.Collections.IComparer.Compare
Dim ix As System.Windows.Forms.ListViewItem
Dim iy As System.Windows.Forms.ListViewItem

ix = DirectCast(x, System.Windows.Forms.ListViewItem)
iy = DirectCast(y, System.Windows.Forms.ListViewItem)

If ix.SubItems.Count > _ColumnIndex And iy.SubItems.Count = 0 Then
Return 1
ElseIf ix.SubItems.Count > _ColumnIndex And iy.SubItems.Count = 0 Then
Return -1
Else
Return System.String.Compare(ix.SubItems(_ColumnIndex).Text, iy.SubItems(_ColumnIndex).Text)
End If
End Function

Public Sub New(ByVal ColumnIndex As System.Int32, ByVal Sorting As System.Windows.Forms.SortOrder)
_ColumnIndex = ColumnIndex
_Sorting = Sorting
End Sub
End Class


Betreff Von Datum
Re: ListView manuell sortieren
und hier die Antwort :))<br><br>aktivieren durch: ListView1.ListViewItemSorter = New ColumnComparer(1, ListView1.Sorting)<br>deaktivieren durch: ListView1.ListViewItemSorter = New ColumnComparer(Nothing,...
mirmi li 24.04.2005 01:12
Re: ListView manuell sortieren
Problem noch nicht gelöst.... Bitte schliesst den Thread.... Ich erstell nen neuen
mirmi li 12.05.2005 17:51

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Building und Connecting Know-how

© Copyright 2003 ppedv AG