Bonjour,

j'utilise un bout de code récuperé sur FAQ pour trier les columns de mon listview, le code est fonctionnel dans le sens ou il n'y a pas d'erreur. Mon problème c'est que ma column contiens des nombres et les négatif reste confondu dans la liste.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Class ListViewItemComparer
    Implements IComparer
    Private col As Integer
    Private sortOrder As SortOrder
 
    Public Sub New()
        col = 0
        sortOrder = Windows.Forms.SortOrder.Ascending
    End Sub
 
    Public Sub New(ByVal column As Integer)
        col = column
        sortOrder = Windows.Forms.SortOrder.Ascending
    End Sub
 
    Public Sub New(ByVal column As Integer, ByVal s As SortOrder)
        col = column
        sortOrder = s
    End Sub
 
    Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
        If sortOrder = Windows.Forms.SortOrder.Ascending Then
            Return String.Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text)
        Else
            Return String.Compare(CType(y, ListViewItem).SubItems(col).Text, CType(x, ListViewItem).SubItems(col).Text)
        End If
 
    End Function
End Class
l'ajustement à faire se situe surment au niveau de la function Compare mais j'aurais besoin d'aide pour l'exercice.

merci