hab wiedermal ein Problem: Ich schaffe es einfach nicht in einem TreeView den Text einer bestimmten Zelle zu ändern.
Wie zu sehen schaffe ich es nur mehrere zu ändern.
Die Daten kommen aus einer Sqlite3 DB und bei Firmen wird bei Anrede der Wert 3 geliefert. Nun will ich diesen Wert von 3 auf Firma ändern. Nur schreibt er mir den String Firma in 5 Zellen mit jeweils 1 Buchstaben und löscht den aktuellen Datensatz.
Liste vorher:
('3', 'XYFirma', ' ', 'Strasse 1', ('Herrn', 'Niklas', 'Johann', 'Kegelg.'), ('Herrn', 'Nikolic', 'Zivanko', 'Wolfgang Schmälzl G.'),
Liste sieht dann so aus:
'Firma', ('Herrn', 'Niklas', 'Johann', 'Kegelg.'), ('Herrn', 'Nikolic', 'Zivanko', 'Wolfgang Schmälzl G.'),
Bild und Code unten
http://www.edvmax.at/Bilder/python/Treeview.jpg
Code: Alles auswählen
#TreeView mit Daten füllen und einfärben:
def daten_verarbeiten (self,data):
global count
count=0
data.sort(key= itemgetter(1)) #Sortierung nach 2 Spalte (FamName)
#Bei Anrede wird bei Firmen eine 3 geliefert - daher 3 in Firma ändern
#Tuble ist nicht veränderbar daher in list und dann wieder in Tuble umwandeln
global mylist
mylist= list(data)
for x in mylist:
if x[0] == '3':
mylist[count] = 'Firma'
#print(mylist)
count+=1
mytuple = tuple(mylist)
for record in mytuple:
if count % 2 == 0:
self.TreeViewKundenDaten.insert(parent='',index='end',iid=count, text='',values=(record[0], record[1],record[2],record[3]),
tags=('gerade'))
else:
self.TreeViewKundenDaten.insert(parent='',index='end',iid=count, text='',values=(record[0], record[1],record[2],record[3]),
tags=('ungerade'))
count += 1