Найти - Пользователи
Полная версия: Insert data into ttk.treeview widget to specific column
Начало » GUI » Insert data into ttk.treeview widget to specific column
1
Feelgood
Всем привет!
Вопрос состоит в том, как вставить в treeview данные из БД начиная из столбца “description”,
(если что код treeview приведен справочно)

 import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("Household finance")
root.geometry("665x360")
tree = ttk.Treeview(columns=('ID', 'description', 'costs', 'total'), height=15, show='headings')
tree.column('ID', width=30, anchor=tk.CENTER)
tree.column('description', width=365, anchor=tk.CENTER)
tree.column('costs', width=150, anchor=tk.CENTER)
tree.column('total', width=100, anchor=tk.CENTER)
tree.heading('ID', text='ID')
tree.heading('description', text='Наименование')
tree.heading('costs', text='Статья дохода/расхода')
tree.heading('total', text='Сумма')
tree.pack()
root.mainloop()

Функция извлечения и вставки в treeview.

     def view_records(self):
        self.db.c.execute('''SELECT description, costs, total FROM finance''')
        [self.tree.delete(i) for i in self.tree.get_children()]
        [self.tree.insert('', 'end', values=row) for row in self.db.c.fetchall()]
4kpt_V
А как данные получить?
Сначала просто получите данные, отпринтуйте их, а потом уже смело вставляйте.
ZerG
Для начала можно просто руками набросать данные и попробовать и посомтреть как оно выглядити работает
а потом уже с базы тянуть.
Feelgood
ZerG
Код с treeview - это тестово для форума, а функция из реального приложения… Когда тяну из БД 3 поля, и вставляю в виджет treeview в котором 4 столбца, соответственно вставка начинается из первого столбца, а мне нужно чтоб начиналось со второго столбца.
xam1816
Feelgood
вставка начинается из первого столбца, а мне нужно чтоб начиналось со второго столбца.
а в первом столбце что будет? не понятно,там будет ID из базы данных,или просто нумерация в дереве по порядку

или как-то так

 [self.tree.insert('', 'end', values=('',row)) for row in self.db.c.fetchall()]
Feelgood
xam1816
Да будет нумерация по порядку, ID тоже доделаю.

Тогда оно всё в один столбец помещает, скрин прикрепил:
  [self.tree.insert('', 'end', values=('',row)) for row in self.db.c.fetchall()]
xam1816
тогда так
 tree.insert('', 'end', values=("",row[0],row[1],row[2]))
Feelgood
xam1816
агонь) всё красиво, спасибо!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB