Affichage des articles dont le libellé est treeview. Afficher tous les articles
Affichage des articles dont le libellé est treeview. Afficher tous les articles

Python And MySQL - Insert Update Delete Search And Display Data On Tkinter TreeView

How To Insert Update Delete And Show Records In TreeView Using Python Tkinter

Python And MySQL - Insert Update Delete Search And Display Data On Tkinter TreeView


In this Python Tkinter CRUD Tutorial With MySQL Database we will see How To:
- insert data in mysql database.
- remove selected record from mysql database.
- edit selected record from mysql database.
- search for a specific record by id.
- display mysql database records in a tkinter treeview.






Project Source Code:

import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import mysql.connector


connection = mysql.connector.connect(host='localhost', user='root', port='3306',
password='', database='test_py')
c = connection.cursor()

root = Tk()

frame = tk.Frame(root)
frame_btns = tk.Frame(frame)

label_id = tk.Label(frame, text="ID:", font=('verdana',14))
entry_id = tk.Entry(frame, font=('verdana',14))

label_fname = tk.Label(frame, text="First Name:", font=('verdana',14))
entry_fname = tk.Entry(frame, font=('verdana',14))

label_lname = tk.Label(frame, text="Last Name:", font=('verdana',14))
entry_lname = tk.Entry(frame, font=('verdana',14))

label_email = tk.Label(frame, text="Email:", font=('verdana',14))
entry_email = tk.Entry(frame, font=('verdana',14))

label_age = tk.Label(frame, text="Age:", font=('verdana',14))
entry_age = tk.Entry(frame, font=('verdana',14))

button_add = tk.Button(frame_btns, text="Add", font=('verdana',14), bg='green',
fg='#ffffff')
button_edit = tk.Button(frame_btns, text="Edit", font=('verdana',14), bg='blue',
fg='#ffffff')
button_remove = tk.Button(frame_btns, text="Remove", font=('verdana',14), bg='red',
fg='#ffffff')
button_search = tk.Button(frame_btns, text="Search", font=('verdana',14), bg='orange',
fg='#ffffff')

trv = ttk.Treeview(frame, columns=(1,2,3,4,5), height=15, show="headings")
trv.column(1, anchor=CENTER, stretch=NO, width=100)
trv.column(2, anchor=CENTER, stretch=NO, width=100)
trv.column(3, anchor=CENTER, stretch=NO, width=100)
trv.column(4, anchor=CENTER, stretch=NO, width=100)
trv.column(5, anchor=CENTER, stretch=NO, width=100)

trv.heading(1, text="ID")
trv.heading(2, text="First Name")
trv.heading(3, text="Last Name")
trv.heading(4, text="Email")
trv.heading(5, text="Age")

def add():
fname = entry_fname.get().strip() # remove white space
lname = entry_lname.get().strip()
email = entry_email.get().strip()
age = entry_age.get().strip()
vals = (fname,lname,email,age)

if(len(fname) > 0 and len(lname) > 0 and len(email) > 0 and int(age) > 10):
c.execute("INSERT INTO `users_2`(`firstname`, `lastname`, `email`, `age`)
VALUES (%s,%s,%s,%s)", vals)
connection.commit()
messagebox.showinfo('Add','User Info Has Been Added')
displayUsers()
else:
messagebox.showwarning('Add','Incorrrect Data')


def edit():
user_id = entry_id.get().strip()
fname = entry_fname.get().strip()
lname = entry_lname.get().strip()
email = entry_email.get().strip()
age = entry_age.get().strip()
if(len(fname) > 0 and len(lname) > 0 and len(email) > 0 and int(age) > 10):
vals = (fname,lname,email,age,user_id)
c.execute("UPDATE `users_2` SET `firstname`=%s,`lastname`=%s,`email`=%s,
`age`=%s WHERE `id`=%s", vals)
connection.commit()
messagebox.showinfo('Edit','User Info Has Been Edited')
displayUsers()
else:
messagebox.showwarning('Edit','Incorrrect Data')

def remove():
user_id = entry_id.get().strip()
c.execute("DELETE FROM `users_2` WHERE `id` = " + user_id)
connection.commit()
messagebox.showinfo('Delete','User Info Has Been Deleted')
displayUsers()

def search():
user_id = entry_id.get().strip()
c.execute("SELECT * FROM `users_2` WHERE `id` = " + user_id)
user = c.fetchone()
# clear fields
entry_fname.delete(0, END)
entry_lname.delete(0, END)
entry_email.delete(0, END)
entry_age.delete(0, END)
if user:
# display data
entry_fname.insert(0, user[1])
entry_lname.insert(0, user[2])
entry_email.insert(0, user[3])
entry_age.insert(0, user[4])
else:
messagebox.showwarning('User','No User Found')




def displayUsers():
# clear treeview
for row in trv.get_children():
trv.delete(row)
# populate treeview
c.execute("SELECT * FROM `users_2`")
users = c.fetchall()

for user in users:
trv.insert('', END, values=user)



button_add['command'] = add
button_edit['command'] = edit
button_remove['command'] = remove
button_search['command'] = search

displayUsers()

label_id.grid(row=0, column=0, sticky='e')
entry_id.grid(row=0, column=1)

label_fname.grid(row=1, column=0, sticky='e')
entry_fname.grid(row=1, column=1)

label_lname.grid(row=2, column=0, sticky='e')
entry_lname.grid(row=2, column=1)

label_email.grid(row=3, column=0, sticky='e')
entry_email.grid(row=3, column=1)

label_age.grid(row=4, column=0, sticky='e')
entry_age.grid(row=4, column=1)

frame_btns.grid(row=5, column=0, columnspan=2)
button_add.grid(row=0, column=0, padx=10, pady=10)
button_edit.grid(row=0, column=1, padx=10, pady=10)
button_remove.grid(row=0, column=2, padx=10, pady=10)
button_search.grid(row=0, column=3, padx=10, pady=10)


trv.grid(row=0, column=3, rowspan=5, padx=10, pady=10)

frame.grid(row=0, column=0)

root.mainloop()


///////////////OUTPUT:


Python Tkinter And MySQL - Insert Update Delete Search And Display

Python Tkinter And MySQL - Insert Update Delete Search And Display Records
Python Tkinter Insert Button To MySQL

Python Tkinter And MySQL - Insert Update Delete Search And Show Records
Python Insert Button To MySQL 2



if you want the source code click on the download button below













PYTHON - How To Add Delete And Update TreeView Row Using TextFields In Python Tkinter

Python - How To Insert Remove And Edit TreeView Row Using TextBoxes In Python Tkinter

Add Delete And Update TreeView Row In Python Tkinter


In this Python Tkinter Tutorial we will see How to:
- add a row to Trreview from TextFields .
- delete selected item from Trreview .
- get selected row values from Trreview to Textboxes .
- update a Trreview row using TextFields .





Project Source Code:


import tkinter as tk
from tkinter import *
from tkinter import ttk


root = Tk()
frame = tk.Frame(root, bg='#3498db')
frame_btns = tk.Frame(frame, bg='#3498db')

data = [
[1,"AAA","BBB","ab@mail.com",17],
[3,"EEE","FFF","ef@mail.com",91],
[4,"GGG","HHH","gh@mail.com",47],
[7,"MMM","NNN","mn@mail.com",25],
[8,"PPP","QQQ","pq@mail.com",43],
[9,"RRR","SSS","rs@mail.com",94],
]

label_id = tk.Label(frame, text='ID:', font=('verdana',14), bg='#3498db')
entry_id = tk.Entry(frame, font=('verdana',14))

label_fname = tk.Label(frame, text='First Name:', font=('verdana',14), bg='#3498db')
entry_fname = tk.Entry(frame, font=('verdana',14))

label_lname = tk.Label(frame, text='Last Name:', font=('verdana',14), bg='#3498db')
entry_lname = tk.Entry(frame, font=('verdana',14))

label_email = tk.Label(frame, text='Email:', font=('verdana',14), bg='#3498db')
entry_email = tk.Entry(frame, font=('verdana',14))

label_age = tk.Label(frame, text='Age:', font=('verdana',14), bg='#3498db')
entry_age = tk.Entry(frame, font=('verdana',14))

btn_add = tk.Button(frame_btns, text='Add', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)
btn_edit = tk.Button(frame_btns, text='Edit', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)
btn_remove = tk.Button(frame_btns, text='Remove', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)

trv = ttk.Treeview(frame, columns=(1,2,3,4,5), show='headings')
trv.column(1, anchor='center', width=100)
trv.column(2, anchor='center', width=100)
trv.column(3, anchor='center', width=100)
trv.column(4, anchor='center', width=100)
trv.column(5, anchor='center', width=100)

trv.heading(1, text='ID')
trv.heading(2, text='First Name')
trv.heading(3, text='Last Name')
trv.heading(4, text='Email')
trv.heading(5, text='Age')

# create a function to display data in treeview
def displayData():
for row in data:
trv.insert('',END, values=row)


displayData()


# create a function to display the selected row from treeview
def displaySelectedItem(a):

# clear entries
entry_id.delete(0,END)
entry_fname.delete(0,END)
entry_lname.delete(0,END)
entry_email.delete(0,END)
entry_age.delete(0,END)

selectedItem = trv.selection()[0]
entry_id.insert(0, trv.item(selectedItem)['values'][0])
entry_fname.insert(0, trv.item(selectedItem)['values'][1])
entry_lname.insert(0, trv.item(selectedItem)['values'][2])
entry_email.insert(0, trv.item(selectedItem)['values'][3])
entry_age.insert(0, trv.item(selectedItem)['values'][4])


trv.bind("<<TreeviewSelect>>", displaySelectedItem)


def add():
user_id = entry_id.get()
fname = entry_fname.get()
lname = entry_lname.get()
email = entry_email.get()
age = entry_age.get()

vals = (user_id, fname, lname, email, age)
trv.insert('', END, values=vals)


def edit():
user_id = entry_id.get()
fname = entry_fname.get()
lname = entry_lname.get()
email = entry_email.get()
age = entry_age.get()

selectedItem = trv.selection()[0]
vals = (user_id, fname, lname, email, age)
trv.item(selectedItem, values=vals)


def remove():
try:
selectedItem = trv.selection()[0]
trv.delete(selectedItem)
except:
print('Error')


btn_add['command'] = add
btn_edit['command'] = edit
btn_remove['command'] = remove



frame.grid(row=0, column=0)

label_id.grid(row=0, column=0, sticky='e')
entry_id.grid(row=0, column=1)

trv.grid(row=0, column=2, rowspan=5, padx=10, pady=10)

label_fname.grid(row=1, column=0, sticky='e')
entry_fname.grid(row=1, column=1)

label_lname.grid(row=2, column=0, sticky='e')
entry_lname.grid(row=2, column=1)

label_email.grid(row=3, column=0, sticky='e')
entry_email.grid(row=3, column=1)

label_age.grid(row=4, column=0, sticky='e')
entry_age.grid(row=4, column=1)

frame_btns.grid(row=5, column=0, columnspan=2)
btn_add.grid(row=0, column=0, padx=10, pady=10)
btn_edit.grid(row=0, column=1, padx=10, pady=10)
btn_remove.grid(row=0, column=2, padx=10, pady=10)



root.mainloop()


////// OUTPUT : 


Insert Remove And Edit TreeView Row Using TextBoxes In Python Tkinter










VB.Net Transfer TreeView Nodes To DataGridView

How To Set TreeView Nodes Values Into DataGridView Rows Using Visual Basic .Net

Transfer TreeView Nodes To DataGridView Using VB.Net

In this VB.NET Tutorial we will see How To Get TreeView Nodes Data And Set It Into DataGridView Rows Using For Loop On Button Click Event In Visual Basic.Net  Programming Language And Visual  Studio Editor.




Project Source Code:


Public Class TreeView_To_Datagridview

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' go through all nodes
        For i As Integer = 0 To TreeView1.Nodes.Count - 1 Step +1

            ' create a new node
            Dim node As New TreeNode()

            ' set the created node equal to the current one
            node = TreeView1.Nodes(i)
           
            ' create a row
            Dim row(node.Nodes.Count) As Object

            ' add values from node to the row
            For j As Integer = 0 To node.Nodes.Count - 1 Step +1

                row(j) = node.Nodes(j).Text

            Next j
            
            ' add row to the datagridview
            DataGridView1.Rows.Add(row)

        Next i

    End Sub
End Class


OutPut:

TreeView To DataGridView In VB.Net




VB.Net Add, Edit, Remove TreeView Node

How To Insert Update Delete Selected Node From TreeView In Visual Basic .Net

Add Edit Remove TreeView Node Using VB.Net

In this VB.NET Tutorial we will see How To Add Edit Remove The Selected TreeView Node Using TextBox Value On treeView AfterSelect To Get The Selected Node And 3 Button To Do The Insert, Update, Delete Using Visual Basic.Net Programming Language And Visual  Studio Editor.




Project Source Code:


Public Class Add_Delete_Edit_TreeView_Node
    
    ' button add node
    Private Sub ButtonAddNode_Click(sender As Object, e As EventArgs) Handles ButtonAddNode.Click
        
        Dim node As New TreeNode(TextBox1.Text)
        TreeView1.Nodes.Add(node)

    End Sub

    ' button add child node
    Private Sub ButtonAddChild_Click(sender As Object, e As EventArgs) Handles ButtonAddChild.Click

        ' if a node is selected
        If Not (TreeView1.SelectedNode Is Nothing) Then

            Dim node As New TreeNode(TextBox1.Text)
            TreeView1.SelectedNode.Nodes.Add(node)

        End If

    End Sub

    ' button delete selected node
    Private Sub ButtonDelete_Click(sender As Object, e As EventArgs) Handles ButtonDelete.Click

        If Not (TreeView1.SelectedNode Is Nothing) Then

            TreeView1.SelectedNode.Remove()

        End If

    End Sub

    ' button get selected node text into textbox
    Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect

        TextBox1.Text = TreeView1.SelectedNode.Text

    End Sub

    ' button edit selected node
    Private Sub ButtonEdit_Click(sender As Object, e As EventArgs) Handles ButtonEdit.Click

        TreeView1.SelectedNode.Text = TextBox1.Text

    End Sub
End Class


OutPut:

insert update delete treeview node using vb.net