ich will Euch nicht nerven, aber ich stehe schon wieder auf dem Schlauch...
Ich habe eine ListCtrl im Report_Modus. Diese sortiere ich mit Mixin. Allerdings verstehe ich die Sortierweise von Mixin nicht ganz.
Hier der Beispielcode:
Code: Alles auswählen
def createList(self):
# die mir noch etwas undurchsichtige Liste.....
il = wx.ImageList(26,26, False)
Bilderliste = glob.glob("./icons/e_icon*.png")
Bilderliste.sort()
for name in Bilderliste:
bmp = wx.Bitmap(name, wx.BITMAP_TYPE_PNG)
il_max = il.Add(bmp)
self.up = il.AddWithColourMask(wx.Bitmap("./icons/sm_up.bmp", wx.BITMAP_TYPE_BMP), "blue")
self.dn = il.AddWithColourMask(wx.Bitmap("./icons/sm_down.bmp", wx.BITMAP_TYPE_BMP), "blue")
self.list_ctrl_uebersicht.AssignImageList(il, wx.IMAGE_LIST_SMALL)
for col, text in enumerate(dataColumns):
self.list_ctrl_uebersicht.InsertColumn(col, text, format=wx.LIST_FORMAT_CENTER)
self.itemDataMap = {}
for item in dataRows:
index = self.list_ctrl_uebersicht.InsertStringItem(sys.maxint, item[0])
for col, text in enumerate(item[1:]):
self.list_ctrl_uebersicht.SetStringItem(index, col+1, text)
self.list_ctrl_uebersicht.SetItemData(index, index)
self.itemDataMap[index] = item
img = index
print index
self.list_ctrl_uebersicht.SetItemImage(index, img, img)
Meine Columns enthalten folgendes:
1. Name, 2.Datum 1 (als String im Format Jahr-Monat-Tag) 3. Datum 2 (selbes Format), 4. Preis (auch als String, z.B.: 13,55 €)
Beim sortieren kommt aber nur Quark heraus. Ich vermute, es liegt an meiner "itemDataMap", aber ehrlich gesagt, habe ich diese auch nicht wirklich verstanden.
Kann mir jemand einen Tipp geben, wie ich es schaffe dass:
-die Namen alphabetisch sortiert werden (Namen sind teilweise unterschiedlich lange Strings)
-die Datumsangaben auf- oder absteigend sortiert werden, und
- man ebenfalls nach Preis sortieren kann( 12 € > 1 € > -1 € > -12 €)
ich vermute, dass ich zwecks richtigem Preissortieren von den Strings weg muss, oder? Ich hätte eben gerne das €-Zeichen dabei.
Gruß, Doc