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.
l'ajustement à faire se situe surment au niveau de la function Compare mais j'aurais besoin d'aide pour l'exercice.
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
merci
Partager