私のプログラムは、TkinterTreeviewのインベントリから利用可能なアセットの数をカウントして表示する必要があります。GUI(最後の画像)に機器タイプの列を印刷する方法は、GUIに表示される機器タイプテーブルの11行を一覧表示するEQUIPMENTTYPEクエリからのSELECTを使用することでした。続いて、各機器タイプの合計、使用不可、および使用可能なアイテムを印刷する必要があります。たとえば、統合パネルが合計10個ある場合、3個が使用可能で、7個が使用不可です。これを達成するための最も簡単で効率的な方法は何ですか?以下のコードフラグメントは、機器タイプをGUIに挿入するために使用されます。これは、テーブルの1列にすぎないため、機器タイプを一覧表示する方が簡単でした。可用性のために、私はそれを行うためのより簡単な方法を想像することができませんでした。ありがとう。
command = "SELECT `Equipment Type` FROM `Equipment Types`"
mycursor.execute(command)
results = mycursor.fetchall()
for i in range(len(results)):
results[i] = list(results[i])
tree.insert("", "end", str(results[i][0]), text = str(results[i][0]), tag = [[i][0]], open = TRUE)
def refresh_clicked(self):
self.destroy()
self.__init__()
button_refresh = tk.Button(topframe, text = "Refresh", state = NORMAL, command = self.timed_refresh)
button_refresh.grid(row = 1, column = 2, sticky = W, padx = 5, pady = 2)
SQLを使用して、必要なものを取得できます。
command = """
SELECT
et.`Equipment Type`,
COUNT(i.`Equipment Type`) Total,
SUM(IF(`Status`="Unavailable",1,0)) Unavailable,
SUM(IF(`Status`="Available",1,0)) Available
FROM `Equipment Types` et
LEFT JOIN Inventory i ON et.`Equipment Type` = i.`Equipment Type`
GROUP BY 1
ORDER BY 1
"""
mycursor.execute(command)
for row in mycursor:
tree.insert("", "end", values=row)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加