Page 1 sur 1
(Résolu] choix multiples dans une ListViewGadget?
Publié : lun. 08/oct./2012 9:46
par Micoute
La question est dans l'entête du post, moi je pense que oui qu'on peut faire des choix multiples dans une ListViewGadget, mais j'avoue que je ne vois pas la solution, alors comme d'habitude, je fais appel aux bonnes volontés que je remercie d'avance.
Re: peut-on faire des choix multiples dans une ListViewGadge
Publié : lun. 08/oct./2012 9:54
par Torp
Oui, c'est dans la doc, il suffit de mettre #PB_ListView_Multiselect à la création de ta ListView.
Bye
Re: peut-on faire des choix multiples dans une ListViewGadge
Publié : lun. 08/oct./2012 10:20
par falsam
En complément de la réponse de Torp.
Bonjour Micoute,
Quand tu ne connais pas toutes les fonctionnalités d'un gadget ou de tout autres mots réservés de Pure Basic, il te suffit de
placer le curseur sur le mot réservé puis d'appuyer sur la
touche F1 de ton clavier.
#PB_ListView_Multiselect permet effectivement de sélectionner plusieurs items dans une liste.
Pour ensuite connaitre les élèments sélectionnés, tu vas devoir faire une boucle qui consiste à parcourir ta liste afin de savoir si un item est sélectionné ou pas. GetGadgetItemState(List, Position) renvoie #True si l'item est sélectionné.
Un peu de code pour résumé cela :
Code : Tout sélectionner
Enumeration
#Mainform
#List
#BtnOk
EndEnumeration
Define.l Event, WEvent, MEvent, GEvent, TEvent
Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget
Procedure Open_MainForm()
OpenWindow(#Mainform, 0, 0, 500, 400, "Multilist", WindowStyle)
ListViewGadget(#List, 10, 10, 480, 350, #PB_ListView_MultiSelect)
ButtonGadget(#BtnOk, 10, 370, 480, 22, "Selectionne les items puis clique moi")
;Un peu de remplissage pour l'exemple.
For N=0 To 9
AddGadgetItem(#List, -1, "Item " + Str(N))
Next
EndProcedure
Open_MainForm()
Repeat
Event = WaitWindowEvent(10)
WEvent = EventWindow() ;different de WindowEvent() :p (oui je me suis fais avoir !!!)
MEvent = EventMenu()
GEvent = EventGadget()
TEvent = EventType()
Select Event
Case #PB_Event_Gadget
Select GEvent
Case #BtnOk
;Liste des items selectionnés
For N=0 To CountGadgetItems(#List) - 1
If GetGadgetItemState(#List, N) = #True
Debug GetGadgetItemText(#List, N)
EndIf
Next
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Re: peut-on faire des choix multiples dans une ListViewGadge
Publié : lun. 08/oct./2012 17:08
par Micoute
D'abord merci beaucoup !
C'est ce que j'ai fait, j'ai mis #PB_ListView_MultiSelect, mais il faut que je valide à chaque ligne et ce que je souhaiterais, c'est cliquer plusieurs articles dans ma liste et valider le tout d'un simple clic, par exemple avec un bouton "Valider"
Re: peut-on faire des choix multiples dans une ListViewGadge
Publié : lun. 08/oct./2012 17:18
par falsam
Micoute a écrit :ce que je souhaiterais, c'est cliquer plusieurs articles dans ma liste et valider le tout d'un simple clic, par exemple avec un bouton "Valider"
Je me demande si tu as bien lu mon code précédent qui fait exactement ce que tu cherches.
PS : Si c'est pas ça, alors poste un peu de code afin de comprendre ce que tu cherches

Re: peut-on faire des choix multiples dans une ListViewGadge
Publié : lun. 08/oct./2012 17:38
par Micoute
J'ai compris ! La fonction marche à l'envers, il faut mettre #PB_ListView_ClickSelect et dans ce cas, on peut sélectionner plusieurs acticles et valider après ! C'est quand même étrange.
Merci tout de même.
Re: (Résolu] choix multiples dans une ListViewGadget?
Publié : lun. 08/oct./2012 17:47
par falsam
Petite précision : Si tu utilises #PB_ListView_MultiSelect tu peux sélectionner tes éléments un par un avec la souris tout en maintenant la touche Control.
Pour sélectionner des items consécutifs, tu cliques gauche sur la souris et sans relâcher ce clique gauche, tu glisses la souris de haut en bas ou de bas en haut.
Re: (Résolu] choix multiples dans une ListViewGadget?
Publié : lun. 08/oct./2012 18:22
par Micoute
Merci, je ne connaissais pas cette précision, mais comme ce que j'ai fait ça fonctionne, alors je vais laisser ça comme c'est !
Merci encore pour ta contribution.