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.