4
4
-un tableau de tous les produits
5
5
6
6
'''
7
- from tkinter import Frame , IntVar , StringVar , Tk
7
+ from tkinter import END , Frame , IntVar , StringVar , Tk , TclError
8
8
from tkinter .messagebox import showerror , showinfo , showwarning
9
9
from tkinter .ttk import Button , Combobox , Entry , Label , Treeview
10
10
@@ -18,7 +18,6 @@ def __init__(self, root):
18
18
super ().__init__ (root )
19
19
self .frameform = Frame (root )
20
20
self .frametable = Frame (root )
21
- self .table = Treeview (self .frametable )
22
21
23
22
self .frameform .pack ()
24
23
self .frametable .pack ()
@@ -38,8 +37,9 @@ def save():
38
37
39
38
if self .nom .get () is not '' and self .quantite .get () != '' and self .categorie .get () != '' :
40
39
categorie = getByName (self .categorie .get ()) # recuperation de la categorie selectionnee
41
- val = Produit .create (self .nom .get (), self .quantite .get (),
42
- self .prix .get (), self .date_expiration .get (), categorie ['id' ])
40
+ values = self .nom .get (), self .quantite .get (), \
41
+ self .prix .get (), self .date_expiration .get (), categorie ['id' ]
42
+ val = Produit .create (* values )
43
43
if val == 1 :
44
44
showinfo ("Succès" , 'Enregistrement ok' )
45
45
# vider les champs de saisi
@@ -48,6 +48,7 @@ def save():
48
48
self .quantite .set (0 )
49
49
self .date_expiration .set ('' )
50
50
self .categorie .set ('' )
51
+ # self.tree.insert('', END, values=values)
51
52
else :
52
53
showerror ('Erreur' , "Une erreur est survenue" )
53
54
else :
@@ -62,8 +63,6 @@ def getCategories():
62
63
return t
63
64
64
65
65
-
66
-
67
66
Label (self .frameform , text = 'Formulaire d\' enregistrement' ).grid (row = 0 , column = 1 )
68
67
Label (self .frameform , text = 'Nom' ).grid (row = 1 , column = 0 )
69
68
Entry (self .frameform , textvariable = self .nom ).grid (row = 1 , column = 1 , pady = 5 )
@@ -86,3 +85,36 @@ def getCategories():
86
85
87
86
88
87
88
+ def table (self ):
89
+ Label (self .frametable , text = 'Liste des produits' ).pack ()
90
+ self .tree = Treeview (self .frametable )
91
+
92
+ self .tree ['columns' ] = ('id' , 'nom' , 'quantite' , 'prix' , 'expiration' , 'categorie' )
93
+
94
+ self .tree .column ('id' , width = 30 )
95
+ self .tree .column ('quantite' , width = 100 )
96
+
97
+ self .tree .heading ('id' , text = 'Id' )
98
+ self .tree .heading ('nom' , text = 'Nom' )
99
+ self .tree .heading ('quantite' , text = 'Quantite' )
100
+ self .tree .heading ('prix' , text = 'Prix' )
101
+ self .tree .heading ('expiration' , text = 'Expiration' )
102
+ self .tree .heading ('categorie' , text = 'Id Categorie' )
103
+
104
+ self .fill_table ()
105
+ self .tree .pack ()
106
+
107
+ def fill_table (self ):
108
+ produits = Produit .all ()
109
+ for index , produit in enumerate (produits ):
110
+ try :
111
+
112
+ self .tree .insert ('' , produit ['id' ], index , values = (produit ['id' ], produit ['nom' ],
113
+ produit ['quantite' ], produit ['prix' ],
114
+ produit ['date_expiration' ], produit ['id_categorie' ]))
115
+ except TclError as exc :
116
+ print ('erreur lors de l\' ajout d\' une ligne' )
117
+ print (exc )
118
+
119
+
120
+
0 commit comments