Задать вопрос

Как вывести данные только в определённые столбцы Treeview(Tkinter)?

Добрый день!
Столкнулся с проблемой вывода данных из БД в Treeview. Проблема в том что есть три таблицы в БД: Ученики, Учителя и Другие посетители, при выводе данных из таблицы Ученики всё ок, но при выводе данных из двух других происходит заполнение полей, которые должны быть у них пустыми(Класс и Литера). Как можно сделать заполнение только нужных столбцов Treeview?
Часть кода прилагается:
#Таблица

        self.table = ttk.Treeview(self, columns=('FIO','DB','Class','litera','phone','adr','book','aut','stat'), height=100, show='headings')

        self.table.column('FIO', width=100, anchor=tk.CENTER)
        self.table.column('DB', width=100, anchor=tk.CENTER)
        self.table.column('Class', width=100, anchor=tk.CENTER)
        self.table.column('litera', width=100, anchor=tk.CENTER)
        self.table.column('phone', width=100, anchor=tk.CENTER)
        self.table.column('adr', width=100, anchor=tk.CENTER)
        self.table.column('book', width=100, anchor=tk.CENTER)
        self.table.column('aut', width=100, anchor=tk.CENTER)
        self.table.column('stat', width=100, anchor=tk.CENTER)

        self.table.heading('FIO', text='ФИО')
        self.table.heading('DB', text='День рождения')
        self.table.heading('Class', text='Класс')
        self.table.heading('litera', text='Литера')
        self.table.heading('phone', text='Телефон')
        self.table.heading('adr', text='Адрес')
        self.table.heading('book', text='Книга')
        self.table.heading('aut', text='Автор')
        self.table.heading('stat', text='Статус')

        self.table.pack()
        self.table.place(x=0,y=100)

        conn = sqlite3.connect(os.path.dirname(os.path.abspath(__file__))+"/LC.db")
        cur = conn.cursor()
        #Вывовд всех учеников
        cur.execute("SELECT * FROM STUD")
        rows = cur.fetchall()
        for row in rows:
            self.table.insert("" , tk.END , values=row)
        
        #Вывод всех учителей
        cur.execute("SELECT * FROM TEACH")
        rows = cur.fetchall()
        for row in rows:
            self.table.insert("" , tk.END , values=row)
        
        #Вывод других посетителей
        cur.execute("SELECT * FROM OTHERS_VISITERS")
        rows = cur.fetchall()
        for row in rows:
            self.table.insert("" , tk.END , values=row)
  • Вопрос задан
  • 728 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
DgDays
@DgDays Автор вопроса
Короче, проблему решил сам. Добавил в БД доп. столбцы, которые NOT NULL. А потом в эти столбцы добавляются пустые данные, в следствии чего эти столбцы пустые и в Treeview
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы