基本的にListCtrlから作成されたプログラムがあり、追加ボタン、編集ボタン、および削除ボタンがあります。ご想像のとおり、それほど難しいことではありません (線形プログラミングとは異なるため難しいと思いますが、学習中です)。
表示されるデータはデータベースから取得され、状況に応じて一部のデータが追加または編集または削除されます。
データが変更されると、ListCtrl が完全にリロードされるようになりたいと思います (基本的に、データがソートされるため)。これは、データベースからデータを更新し、新しいデータを使用してデータベースから新しい ListCtrl を作成することを意味します。ListCtrl とデータベースを別々に更新するのではありません。
これは ListCtrl にデータを挿入するコードであり、パネル内にあります (ListCtrl をリロードする必要があるオブジェクトは、さまざまな場所から呼び出されるダイアログです)。
i = 0
for data in coches:
index = self.lista.InsertStringItem(i, data[0])
self.lista.SetStringItem(index, 1, str(data[1]))
self.lista.SetStringItem(index, 2, str(data[2]))
self.lista.SetStringItem(index, 3, str(data[3]))
self.lista.SetStringItem(index, 4, str(data[4]))
if((index+1) % 2 == 0):
self.lista.SetItemBackgroundColour(index,gris)
i += 1
「coches」はデータベースからのリストで、「self.lista」は ListCtrl オブジェクトです。
前もって感謝します