そのため、データベースに適切にデータを入力するために、特定の順序でアイテムのリストを取得することができました。アイテムを変換して、注文に含まれるアイテムを表示する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 に基づいてアイテム オブジェクトのフィルタリングされたリストを格納する関数をバックエンドで作成することをまだ考えています