Я пытаюсь обновить таблицу ttk.treeview и оставить ее там, где она была до обновления.
Всякий раз, когда я обновляю таблицу, она показывает верхнюю часть, но я хочупросто оставьте все как есть, просто введите новую строку или обновите столбец этой строки.
class TABLA():
def show(self, row, column, rowspan):
self.row = row
self.column = column
self.rowspan = rowspan
global FondoBase
global Dir
self.Tabla = ttk.Treeview(FondoBase, columns=self.Columnas[1:], height=40)
self.Tabla.heading("#0", text=self.Columnas[0])
for i in self.Columnas[1:]:
self.Tabla.heading("{}".format(i), text="{}".format(i))
self.scrol = Scrollbar(FondoBase, command=self.Tabla.yview)
self.Tabla.config(yscrollcommand=self.scrol.set)
with connect('{}'.format(Dir)) as Conexion:
Seleccion = Conexion.cursor()
Seleccion.execute("""SELECT * FROM Table""")
result = Seleccion.fetchall()
for i in range(len(result)):
if i%2 == 0:
self.Tabla.insert("", i, text="{}".format(result[i][0]), values=(result[i][1:]), tags=("par"))
self.Tabla.tag_configure("par", background="#e9e9e9")
else:
self.Tabla.insert("", i, text="{}".format(result[i][0]), values=(result[i][1:]), tags=("impar"))
self.Tabla.grid(row=row, column=column, rowspan=rowspan, sticky="e", pady=30)
self.scrol.grid(row=row, column=column+1, sticky="wns", rowspan=rowspan, pady=30)`
Я пытался сделать это с помощью методов Tabla.yview_moveto()
и scrol.set()
, но они не работали.