Hallo Zusammen,
ich nutze in meinem Script eine ListView, welche ich durch _GUICtrlListView_RegisterSortCallBack($ListView1), GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") und eine entsprechende _WM_NOTIFY Funktion sortierbar gemacht habe.
Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam
Local $hWndFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $ListView1
If Not IsHWnd($ListView1) Then $hWndListView = GUICtrlGetHandle($ListView1)
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $LVN_COLUMNCLICK ; A column was clicked
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $lParam)
_GUICtrlListView_SortItems($hWndFrom, DllStructGetData($tInfo, "SubItem"))
;(.....)
Alles anzeigen
Die Zeile _GUICtrlListView_SortItems($hWndFrom, DllStructGetData($tInfo, "SubItem")) sorgt dafür, dass man die Daten nach den Headern auf/absteigend sortieren kann. Dies dann auch mit dem bekannten sortierhäkchen :). Allerdings ist diese Funktion seeeehr seeeehr langsam. aktuell habe ich ca 1000 zeilen im ListView. Hierbei benötigt die Funktion schon ca 2 Sekunden zum Sortieren. Am Ende werden es sicher um die 1500-2000 Zeilen sein.
Hattet hierfür jemand eine Lösung? Mir ist wichtig, dass ich nach den Headern auf/absteigend sortieren kann und dies dann eben entsprechend durch dieses Häkchen angezeigt wird
Danke und LG