Pages : 1
#1 Le 11/06/2008, à 14:24
- dayiri
MySQLdb et wx.ListCtrl
Salut à tous les pythoniens,
j'ai de sérieux pbms
en effets, je viens de vinir de concevoit un frame avec des champs tous liés aux champs d'une base de donnée MySQLdb.
problème est que je désire que:
- dès que je clique sur leboutton ajouter, que les valeurs des champs du frame entre dans la BD et que ceux ci d'affiches dans les différentes colones de la liste, cad une ligne de la liste pour chaque enregistrement.
- je désirerais aussi controler la saisie en fonction du type du champs de la BD
voici une portion de mon code :
#List des enregistrements dans la base de données
self.lc = wx.ListCtrl(self, 15, wx.DLG_PNT(self, 10, 185), wx.DLG_SZE(self, 480, 120), style = wx.LC_REPORT|wx.LC_VRULES|wx.LC_HRULES|wx.SUNKEN_BORDER)
self.lc.InsertColumn(0, "ID")
self.lc.SetColumnWidth(0, 100)
self.lc.InsertColumn(1, "N° LOT")
self.lc.SetColumnWidth(1, 150)
self.lc.InsertColumn(2, "Agence Immobilière")
self.lc.SetColumnWidth(2, 200)
self.lc.InsertColumn(3, "Téléphone")
self.lc.SetColumnWidth(3, 150)
self.lc.InsertColumn(4, "Cellulaire")
self.lc.SetColumnWidth(4, 150)
self.lc.InsertColumn(5, "E-Mail")
self.lc.SetColumnWidth(5, 200)
self.lc.InsertColumn(6, "Boîte postale")
self.lc.SetColumnWidth(6, 200)
self.lc.InsertColumn(7, "Entité")
self.lc.SetColumnWidth(7, 100)
self.lc.InsertColumn(8, "Superficie")
self.lc.SetColumnWidth(8, 100)
self.lc.InsertColumn(9, "Contrat")
self.lc.SetColumnWidth(9, 100)
self.lc.InsertColumn(10, "Commune")
self.lc.SetColumnWidth(10, 150)
self.lc.InsertColumn(11, "Quartier")
self.lc.SetColumnWidth(11, 150)
self.lc.InsertColumn(12, "Description")
self.lc.SetColumnWidth(12, 500)
self.lc.InsertColumn(13, "Montant")
self.lc.SetColumnWidth(13, 200)
#for idex in range(len(item.items())):
#self.lc.InsertStringItem(idex, selection[idex]["ID"])
#self.lc.SetStringItem(idex, 1,selection[idex]["N° LOT"])
self.SetSize(self.GetSize())
#EVT_LIST_ITEM_SELECTED(self, 15, self.getSelect)
#Déclaration des méthodes liées aux bouttons et aux objets
def setSelect(self, event):
return
def getSelect(self, event):
return
def Ajoute(self, event):
ident = self.ident.GetValue()
numlot = self.numlot.GetValue()
agence = self.agence.GetValue()
tel = self.tel.GetValue()
cel = self.cel.GetValue()
mail = self.mail.GetValue()
bp = self.bp.GetValue()
entite = self.entite.GetValue()
superf = self.superf.GetValue()
contrat = self.contrat.GetValue()
comm = self.comm.GetValue()
quart = self.quart.GetValue()
descrip = self.descrip.GetValue()
montant = self.montant.GetValue()
ch = [ident, numlot, agence, tel, cel, mail, bp, entite, superf, contrat, comm, quart, descrip, montant]
llist = range(15)
for i in llist:
if ch[i] == '':
wx.MessageBox('Veuillez renseigner tous les champs vides', 'ERROR', wx.OK|wx.ICON_INFORMATION)
else:
req = "insert into LOGEMENT (id_lot, num_lot, ag_im, ag_tel, ag_cel, ag_mail, ag_bp, log_entite, log_superf, log_contr, log_com, log_quart, log_descipt, log_mont) values (%s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %s, '%s', '%s', '%s', '%s', %s)" %( ident, numlot, agence, tel, cel, mail, bp, entite, superf, contrat, comm, quart, descrip, montant)
req2 = "SELECT * FROM LOGEMENT"
self.cursor.execute(req2)
selection = self.cursor.fetchall()
self.ident.Clear()
self.numlot.Clear()
self.age
Hors ligne
Pages : 1