Редактирование строки, удаление строки из таблицы в Phyton 3.81 (Питоне)
На предыдущей странице было рассмотрено вставка строки в таблицу. Далее мы аналогично рассмотрим корректировку строки. Добавим еще кнопку (см. рис. 2 на пред. стр):
btn_edit =Button(text='Редактировать',
bg='white',command=vibor)
btn_edit.place(x=250, y=380)
Создадим функцию vibor() для выбора из таблицы указанную строку в дереве:
Переменная rows содержит список списков таблицы. В данном случае список состоит из одного списка с индексом 0. Поэтому создаем переменую sp-список для выбора значений полей. Их значения заносятся во временные переменные zdescription, zcosts, ztotal:
def vibor(): global zdescription, zcosts, ztotal # чтобы переменные были доступны в других функциях c.execute('''select * from finance where id=?''', tree.set(tree.selection()[0], '#1') ) #выбор строки с выбранным ключом=ID rows = c.fetchall() #список с данными выбранной строки sp=rows[0];zdescription=sp[1]; zcosts=sp[2]; ztotal=sp[3] korzap() |
Рис. 1 Функция vibor() вызывает функцию korzap() для корректировки в дочернем окне, используя форму для ввода:
Рис.2.Текст фрагмента скрипта -создание дочернего окна с формой для корректировки данных строки.
![]() |
Рис.3. Форма для корректировки выбранной строки.
![]() |
Рис.4. После нажатия на кнопку "Заменить"
Удаление записи из таблицы в Питоне (Phyton)
Добавляем кнопку для удаления строки. Текст кнопки добавляем в конце скрипта на рис.2 на 1 странице (предыд.)
btn_del=Button(text='Удалить строку',bg='white', command=delete)
btn_del.place(x=400,y=380);btn_del.bind('<Button-1>')
Используем функцию delete() :
def delete(): c.execute('''DELETE FROM finance WHERE ID = ?''', (tree.set(tree.selection()[0], '#1'))) conn.commit() view_records() |
Рис. 5. Текст функции по удалению выбранной строки из таблицы