Torna al Thread
Public Class CustomComparer
Implements IComparer
Private Position As Integer
Private Order As Integer = 1
Private NomeColonna As String = ""
Public Sub New(_NomeColonna As String, Optional ByVal Ascending As Boolean = True)
NomeColonna = _NomeColonna
If Not Ascending Then
Order = -1
End If
End Sub
<System.Runtime.InteropServices.DllImport("shlwapi.dll", CharSet:=System.Runtime.InteropServices.CharSet.Unicode, ExactSpelling:=True, SetLastError:=False)> _
Private Shared Function StrCmpLogicalW(strA As String, strB As String) As Integer
End Function
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
Dim pp As Reflection.PropertyInfo = CType(x, DatiItemLView_Dati).GetType().GetProperty(NomeColonna)
Dim value As Object = pp.GetValue(CType(x, DatiItemLView_Dati), Nothing)
Dim ValoreX As String = value
Dim pp2 As Reflection.PropertyInfo = CType(x, DatiItemLView_Dati).GetType().GetProperty(NomeColonna)
Dim value2 As Object = pp.GetValue(CType(y, DatiItemLView_Dati), Nothing)
Dim ValoreY As String = value2
Return StrCmpLogicalW(ValoreX, ValoreY) * Order
End Function
End Class