Поэтому мне удалось получить список элементов в заданном порядке, чтобы правильно заполнить базу данных. при преобразовании элементов для заполнения виджета listctrl, который показывает элементы, включенные в заказ ...... Я получаю это:
в левом окне показано, что происходит, когда вы добавляете 1-й элемент... в правом окне заключается моя проблема. он по существу перезаписывает текст 1-го элемента и вместо этого добавляет пустой столбец .... цена, однако, складывается правильно, и все элементы правильно добавляются в базу данных 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