Така че успях да получа списъка с елементи в даден ред, за да попълня базата данни правилно. при преобразуване на елементите за попълване на приспособлението listctrl, което показва елементите, включени в поръчка....... Получавам това:
левият прозорец показва какво се случва, когато добавите първия елемент... десният прозорец е мястото, където се крие моят проблем. по същество презаписва текста на първия елемент и вместо това добавя празна колона... цената обаче се добавя правилно и всички елементи се добавят правилно в sql базата данни... така че проблемът ми е в това как попълвам моя списък
кодът, показан по-долу, е функцията, която попълва списъка ctrl, показан по-рано... Изглежда не мога да разбера къде сбърках... някакви идеи?
код за рестартиране на списъка
def refresh_list2(self, event):
"""Place the names of each ItemEntry into the list"""
index = 0
self.entrydict = {}
self.list2.DeleteAllItems()
for entry in self.ordite.list_entries():
if entry.Order_ID == self.entry.Order_ID:
self.list2.InsertStringItem(index,self.entry.Order_ID)
self.list2.SetStringItem(index,1,self.entryit.Item_ID)
self.list2.SetStringItem(index,2,str(self.entryit.Item_Price))
self.list2.SetStringItem(index,3,str(self.entryit.Item_Qty))
self.entrydict[index] = entry
index += 1
код за вмъкване на елементите в базата данни
def add_item(self, event):
"""Add a new entry to the Order_Date ite"""
# start out with blank, generic Entry
self.entryit = oi.OrderItemEntry(self.entry.Order_ID,"","","0")
self.endiag = AddItemOrder(self,self.entryit)
self.endiag.ShowModal()
self.ordite.add_entry(self.entry.Order_ID,
str(self.entryit.Item_ID),
str(self.entryit.Item_Price),
str(self.entryit.Item_Qty) )
self.refresh_list2(None)
self.addPrice(None)
все още обмислям да направя функция в бекенда, която съхранява филтриран списък на обектите на артикулите въз основа на дадения order_ID