Есть окно tkinter, в котором расположен виджет treeview в виде таблицы. Таблица берёт данные из базы данных на sqlite3. Данные динамичные и будут регулярно меняться, добавляться, удаляться. В первом столбце таблицы хранится идентификатор для каждой строки - по нему и нужно будет в дальнейшем работать.
Необходимо: при клике на строчку вывести этот идентификатор как переменную.
Вот код таблицы:
class Table(tk.Frame):
def __init__(self, parent=None, headings=tuple(), rows=tuple()):
super().__init__(parent)
table = ttk.Treeview(self, show="headings", selectmode="browse")
table["columns"] = headings
table["displaycolumns"] = headings
for head in headings:
table.heading(head, text=head, anchor=tk.CENTER)
table.column(head, anchor=tk.CENTER, width=20)
for row in rows:
table.insert('', tk.END, values=tuple(row))
scrolltable = tk.Scrollbar(self, command=table.yview)
scrolltable1 = tk.Scrollbar(self, command= table.xview)
table.configure(yscrollcommand=scrolltable.set)
table.configure(xscrollcommand=scrolltable1.set)
scrolltable.pack(side=tk.RIGHT, fill=tk.Y)
scrolltable1.pack(side=tk.BOTTOM, fill=tk.X)
table.pack(expand=tk.YES, fill=tk.BOTH)
data = (',')
with sqlite3.connect('mydatabase.db') as connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM service_data WHERE [Вид обслуживания] ='РЕМОНТ'")
data = (row for row in cursor.fetchall())