Hi Leute!
Hatte zuuuufällig schon mal jemand das Problem, dass er die Daten in einer Liste nicht nur nach einer Spalte sortieren wollte?
Ich habe ein Beispiel:
Personen mit Nachnamen und Vornamen in einer Liste. Wenn es viele Müllers gibt, sollten die natürlich zusätzlich zur Sortierung nach dem Nachnamen auch nach ihrem Vornamen sortiert sein.
In meinem Fall sieht es so aus:
http://aycu27.webshots.com/image/4386/2 ... 334_rs.jpg
Guckt euch mal Bake (Nachname) an. Da klappt das nicht.
Die Methode "GetSecondarySortValues" in
C:\Python24\Lib\site-packages\wx-2.6-msw-ansi\wx\lib\mixins\listctrl.py verstehe ich leider nicht.
Vielleicht hatte ja mal jemand dasselbe Problem
Grüße
Jamil
Sortierung nach mehreren Spalten in ListCtrl
Hi Jamil,JR hat geschrieben:Bin ich der einzige, der sich so etwas wünscht?
.. Regards
Jamil
Interessante Frage. Also praktisch wie in Excel, da kann man auch nach mehreren Spalten sortieren.
Da ist auch die Frage der Visualisierung. Auf die Art
Zuname Vorname Telefon etc
v1 ^2
könnte man es machen.
Das SecondarySortValue kannst du in der abgeleiteten Klasse überschreiben, wenn du andere Sortkriterien hast.
Habe ein Bsp gefunden (leider funktioniert das nicht ganz so).
in etwa:
Code: Alles auswählen
from wx.lib.mixins import listctrl
def MyColumnSorter(self, key1, key2):
col = self._col
ascending = self._colSortFlag[col]
item1 = self.itemDataMap[key1][col]
item2 = self.itemDataMap[key2][col]
cmpVal = cmp(str(item1), str(item2))
# If the items are equal then pick something else to make the sort value unique
if cmpVal == 0:
cmpVal = apply(cmp, self.GetSecondarySortValues(col, key1, key2))
if ascending:
return cmpVal
else:
return -cmpVal
def GetColumnSorter(self):
"""Returns a callable object to be used for comparing column values when sorting."""
return self.MyColumnSorter
Hi Francesco!
Der Code entspricht im Prinzip genau den zwei Methoden aus dem Modul wx.lib.mixins.listctrl.py
Ich hoffe, es gibt jemanden, der das direkt schon mal eingesetzt hat, um nach mehreren Spalten zu sortieren.
Schlüssel mit mehreren Schlüsselkriterien zum Sortieren von Datensätzen sind ja nichts ungewöhnliches.
Viele Grüße
Jamil
Der Code entspricht im Prinzip genau den zwei Methoden aus dem Modul wx.lib.mixins.listctrl.py
Ich hoffe, es gibt jemanden, der das direkt schon mal eingesetzt hat, um nach mehreren Spalten zu sortieren.
Schlüssel mit mehreren Schlüsselkriterien zum Sortieren von Datensätzen sind ja nichts ungewöhnliches.
Viele Grüße
Jamil
Hi Jamil,JR hat geschrieben:Hi Francesco!
Der Code entspricht im Prinzip genau den zwei Methoden aus dem Modul wx.lib.mixins.listctrl.py
Ich hoffe, es gibt jemanden, der das direkt schon mal eingesetzt hat, um nach mehreren Spalten zu sortieren.
Schlüssel mit mehreren Schlüsselkriterien zum Sortieren von Datensätzen sind ja nichts ungewöhnliches.
Viele Grüße
Jamil
leider habe ich kein Beispiel gefunden. Du könntest ja der erste sein, der sowas impementiert, was ich aber auch wieder nicht glaube.

Google (Groups)? Oder weiss wer anderer weiter? Gerold?
Wenn du eine schöne Lösung gefunden hast, könntest du ja eine wxpython wiki page (ein recept) schreiben.

BTW: in nächster Zeit werde ich selten einen Blick ins Python Forum werfen, da ich wenig Zeit habe (falls es überhaupt wen interessieren sollte
