self.liste_controle.DeleteAllItems()
cu =3D con.cursor()
req =3D """SELECT * FROM liens ORDER BY nom ASC;""" cu.execute(req)
res =3D cu.fetchall()
i =3D 0
for a,b,c,d in res:
self.liste_controle.InsertStringItem(i,str(a))
self.liste_controle.SetStringItem(i,1,str(b))
self.liste_controle.SetStringItem(i,2,str(c))
self.liste_controle.SetStringItem(i,3,str(d))
i=3Di+1
Dans ma fonction OnListe_controleListItemSelected()
j'aimerais pouvoir acc=E9der aux =E9l=E9ments qui ont =E9t=E9 mis en place
dans la liste.
Je consulte la doc mais quelque chose m'=E9chappe...je n'arrive qu'=E0
r=E9cup=E9rer
la position d'un item ainsi que son texte mais je n'arrive pas =E0
acc=E9der aux donn=E9es des autres colonnes.
J'arrive =E0 r=E9cup=E9rer pour l'instant :
event.m_itemIndex pour la position et
self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment acc=E9der facilement aux donn=E9es d'une ligne enti=E8re par
exemple ? =E7a m'=E9viterait de refaire une requ=EAte sql en fonction de
la position dans l'index de la liste.
Peut-=EAtre que tout simplement ce contr=F4le ne correspond pas =E0 ce que
je veux faire. En fait je souhaite une liste a plusieurs colonnes,
quand on selectionne un =E9lement, les donn=E9es de cet =E9l=E9ment sont
r=E9=E9dit=E9es dans de simples champs texte.
Pardonnez moi la tartine et je vous remercie par avance pour l'aide que
vous pourriez m'apporter. Les remarques sur le code ou la conception
sont les bienvenus.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bruno modulix
sir_highleaf wrote:
Bonjour à tous,
Bonjour Julien
J'essaye actuellement la bibliothèque WX.
J'ai un petit problème de manipulation des données dans les listes.
(snip)
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
(snip)
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes,
Alors effectivement, ce n'est pas le bon widget. Regarde du côté des grids:
HTH -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')" python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
sir_highleaf wrote:
Bonjour à tous,
Bonjour Julien
J'essaye actuellement la bibliothèque WX.
J'ai un petit problème de manipulation des données dans les listes.
(snip)
Dans ma fonction OnListe_controleListItemSelected()
j'aimerais pouvoir accéder aux éléments qui ont été mis en place
dans la liste.
Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à
récupérer
la position d'un item ainsi que son texte mais je n'arrive pas à
accéder aux données des autres colonnes.
(snip)
Peut-être que tout simplement ce contrôle ne correspond pas à ce que
je veux faire. En fait je souhaite une liste a plusieurs colonnes,
Alors effectivement, ce n'est pas le bon widget. Regarde du côté des grids:
HTH
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
J'ai un petit problème de manipulation des données dans les listes.
(snip)
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
(snip)
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes,
Alors effectivement, ce n'est pas le bon widget. Regarde du côté des grids:
HTH -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')" python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
sir_highleaf
Merci pour votre aide, je m'en vais essayer ce contrôle tout de suite.
Julien
Merci pour votre aide, je m'en vais essayer ce contrôle tout de suite.
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par exemple ? ça m'éviterait de refaire une requête sql en fonction de la position dans l'index de la liste.
En regardant la doc:
http://www.wxwidgets.org/manuals/2.6.1/wx_wxlistctrl.html#wxlistctrlgetitem "La version wxPython prend en paramètres le numéro de la ligne, le numéro de colonne (optionnel), et renvoie un objet wx.ListItem" (traduction libre...)
J'essaierais donc ceci: info = self.liste_controle.GetItem(self.currentItem,colonne) valeur = info.m_text
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes, quand on selectionne un élement, les données de cet élément sont rééditées dans de simples champs texte.
Si tu veux pouvoir modifier les données, regarde dans la démo le controle "Editable_ListCtrl" (ou qqchose comme ça), qui explique comment faire.
-- Amaury
Bonjour à tous,
J'essaye actuellement la bibliothèque WX.
J'ai un petit problème de manipulation des données dans les listes.
Dans ma fonction OnListe_controleListItemSelected()
j'aimerais pouvoir accéder aux éléments qui ont été mis en place
dans la liste.
Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à
récupérer
la position d'un item ainsi que son texte mais je n'arrive pas à
accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et
self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par
exemple ? ça m'éviterait de refaire une requête sql en fonction de
la position dans l'index de la liste.
En regardant la doc:
http://www.wxwidgets.org/manuals/2.6.1/wx_wxlistctrl.html#wxlistctrlgetitem
"La version wxPython prend en paramètres le numéro de la ligne, le
numéro de colonne (optionnel), et renvoie un objet wx.ListItem"
(traduction libre...)
J'essaierais donc ceci:
info = self.liste_controle.GetItem(self.currentItem,colonne)
valeur = info.m_text
Peut-être que tout simplement ce contrôle ne correspond pas à ce que
je veux faire. En fait je souhaite une liste a plusieurs colonnes,
quand on selectionne un élement, les données de cet élément sont
rééditées dans de simples champs texte.
Si tu veux pouvoir modifier les données, regarde dans la démo le
controle "Editable_ListCtrl" (ou qqchose comme ça), qui explique comment
faire.
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par exemple ? ça m'éviterait de refaire une requête sql en fonction de la position dans l'index de la liste.
En regardant la doc:
http://www.wxwidgets.org/manuals/2.6.1/wx_wxlistctrl.html#wxlistctrlgetitem "La version wxPython prend en paramètres le numéro de la ligne, le numéro de colonne (optionnel), et renvoie un objet wx.ListItem" (traduction libre...)
J'essaierais donc ceci: info = self.liste_controle.GetItem(self.currentItem,colonne) valeur = info.m_text
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes, quand on selectionne un élement, les données de cet élément sont rééditées dans de simples champs texte.
Si tu veux pouvoir modifier les données, regarde dans la démo le controle "Editable_ListCtrl" (ou qqchose comme ça), qui explique comment faire.
-- Amaury
Amaury
Bonjour,
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes,
Alors effectivement, ce n'est pas le bon widget. Regarde du côté des grids:
En fait, dans mon application j'utilisais aussi un "grid", pour bénéficier de ses fonctions d'édition, mais je me suis aperçu que dès qu'on veut un contrôle très fin, ce widget devient vite un cauchemar.
Maintenant, je recode tout avec un wx.ListControl, que je rends "éditable" comme dans la démo Editable_ListCtrl... Et c'est beaucoup plus confortable.
-- Amaury
Bonjour,
Peut-être que tout simplement ce contrôle ne correspond pas à ce que
je veux faire. En fait je souhaite une liste a plusieurs colonnes,
Alors effectivement, ce n'est pas le bon widget. Regarde du côté des grids:
En fait, dans mon application j'utilisais aussi un "grid", pour
bénéficier de ses fonctions d'édition, mais je me suis aperçu que dès
qu'on veut un contrôle très fin, ce widget devient vite un cauchemar.
Maintenant, je recode tout avec un wx.ListControl, que je rends
"éditable" comme dans la démo Editable_ListCtrl...
Et c'est beaucoup plus confortable.
En fait, dans mon application j'utilisais aussi un "grid", pour bénéficier de ses fonctions d'édition, mais je me suis aperçu que dès qu'on veut un contrôle très fin, ce widget devient vite un cauchemar.
Maintenant, je recode tout avec un wx.ListControl, que je rends "éditable" comme dans la démo Editable_ListCtrl... Et c'est beaucoup plus confortable.
-- Amaury
sir_highleaf
Bonjour,
En fait j'ai réussi à m'en sortir avec le contrôle Grid grâce aux méthodes : SetCellValue, GetCellValue, GetGridCursorRow et GetGridCursorCol.
Disons qu'en ayant essayé les deux, les ListCtrl présentent mieux graphiquement pour le type de données que je gère. Je vais retenter avec une ListCtrl dès que j'ai un peu de temps.
Merci à tous pour vos avis et précisions.
Cordialement,
Julien
Bonjour,
En fait j'ai réussi à m'en sortir avec le contrôle Grid grâce aux
méthodes : SetCellValue, GetCellValue, GetGridCursorRow et
GetGridCursorCol.
Disons qu'en ayant essayé les deux, les ListCtrl présentent mieux
graphiquement pour le type de données que je gère. Je vais retenter
avec une ListCtrl dès que j'ai un peu de temps.
En fait j'ai réussi à m'en sortir avec le contrôle Grid grâce aux méthodes : SetCellValue, GetCellValue, GetGridCursorRow et GetGridCursorCol.
Disons qu'en ayant essayé les deux, les ListCtrl présentent mieux graphiquement pour le type de données que je gère. Je vais retenter avec une ListCtrl dès que j'ai un peu de temps.
Merci à tous pour vos avis et précisions.
Cordialement,
Julien
Pascal Chenevas-Paule
sir_highleaf wrote:
Bonjour à tous,
J'essaye actuellement la bibliothèque WX.
J'ai un petit problème de manipulation des données dans les listes.
self.liste_controle.DeleteAllItems() cu = con.cursor() req = """SELECT * FROM liens ORDER BY nom ASC;""" cu.execute(req) res = cu.fetchall()
i = 0 for a,b,c,d in res: self.liste_controle.InsertStringItem(i,str(a)) self.liste_controle.SetStringItem(i,1,str(b)) self.liste_controle.SetStringItem(i,2,str(c)) self.liste_controle.SetStringItem(i,3,str(d)) i=i+1
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par exemple ? ça m'éviterait de refaire une requête sql en fonction de la position dans l'index de la liste.
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes, quand on selectionne un élement, les données de cet élément sont rééditées dans de simples champs texte.
Pardonnez moi la tartine et je vous remercie par avance pour l'aide que vous pourriez m'apporter. Les remarques sur le code ou la conception sont les bienvenus.
Cordialement,
Julien
Salut ,
petit hors sujet,
utilises tu ou as tu déjà utilisé wxGlade ?
merci,
Pascal
sir_highleaf wrote:
Bonjour à tous,
J'essaye actuellement la bibliothèque WX.
J'ai un petit problème de manipulation des données dans les listes.
self.liste_controle.DeleteAllItems()
cu = con.cursor()
req = """SELECT * FROM liens ORDER BY nom ASC;""" cu.execute(req)
res = cu.fetchall()
i = 0
for a,b,c,d in res:
self.liste_controle.InsertStringItem(i,str(a))
self.liste_controle.SetStringItem(i,1,str(b))
self.liste_controle.SetStringItem(i,2,str(c))
self.liste_controle.SetStringItem(i,3,str(d))
i=i+1
Dans ma fonction OnListe_controleListItemSelected()
j'aimerais pouvoir accéder aux éléments qui ont été mis en place
dans la liste.
Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à
récupérer
la position d'un item ainsi que son texte mais je n'arrive pas à
accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et
self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par
exemple ? ça m'éviterait de refaire une requête sql en fonction de
la position dans l'index de la liste.
Peut-être que tout simplement ce contrôle ne correspond pas à ce que
je veux faire. En fait je souhaite une liste a plusieurs colonnes,
quand on selectionne un élement, les données de cet élément sont
rééditées dans de simples champs texte.
Pardonnez moi la tartine et je vous remercie par avance pour l'aide que
vous pourriez m'apporter. Les remarques sur le code ou la conception
sont les bienvenus.
self.liste_controle.DeleteAllItems() cu = con.cursor() req = """SELECT * FROM liens ORDER BY nom ASC;""" cu.execute(req) res = cu.fetchall()
i = 0 for a,b,c,d in res: self.liste_controle.InsertStringItem(i,str(a)) self.liste_controle.SetStringItem(i,1,str(b)) self.liste_controle.SetStringItem(i,2,str(c)) self.liste_controle.SetStringItem(i,3,str(d)) i=i+1
Dans ma fonction OnListe_controleListItemSelected() j'aimerais pouvoir accéder aux éléments qui ont été mis en place dans la liste. Je consulte la doc mais quelque chose m'échappe...je n'arrive qu'à récupérer la position d'un item ainsi que son texte mais je n'arrive pas à accéder aux données des autres colonnes.
J'arrive à récupérer pour l'instant :
event.m_itemIndex pour la position et self.liste_controle.GetItemText(self.currentItem) pour le texte.
Comment accéder facilement aux données d'une ligne entière par exemple ? ça m'éviterait de refaire une requête sql en fonction de la position dans l'index de la liste.
Peut-être que tout simplement ce contrôle ne correspond pas à ce que je veux faire. En fait je souhaite une liste a plusieurs colonnes, quand on selectionne un élement, les données de cet élément sont rééditées dans de simples champs texte.
Pardonnez moi la tartine et je vous remercie par avance pour l'aide que vous pourriez m'apporter. Les remarques sur le code ou la conception sont les bienvenus.