Page 1 of 1

Delete multiple selection

Posted: Sat Feb 19, 2011 4:11 am
by braveheart

Code: Select all

#win=0
#lg = 1
OpenWindow(#win,0,0,300,400,"TEST",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListViewGadget(#lg,0,0,300,400, #PB_ListView_MultiSelect)
AddKeyboardShortcut(#win,#PB_Shortcut_Delete,#lg)
For i=0 To 10
  AddGadgetItem(#lg,i,"Listview Gadget "+Str(i))
Next
Procedure lselect()
  il = CountGadgetItems(#lg)-1  
  Dim al(il)
  in = 0  
  For i = 0 To il
    If GetGadgetItemState(#lg,i)      
      al(in) = i
      in+1
      SetGadgetItemState(#lg,i,0)
      ;RemoveGadgetItem(#lg,i) ;can't do this
    Else
      SetGadgetItemState(#lg,i,1)
    EndIf    
  Next
  ReDim al(in-1)  
  For i = 0 To in-1
    ;RemoveGadgetItem(#lg,al(i)) ;this one also
  Next   
EndProcedure
Repeat
  event=WaitWindowEvent()
  Select event
    Case #PB_Event_Menu
      Select EventMenu()
        Case #lg
          lselect()
      EndSelect   
  EndSelect  
Until event=#PB_Event_CloseWindow
How to delete multiple selection on listviewgadget?

Re: Delete multiple selection

Posted: Sat Feb 19, 2011 9:04 am
by infratec
Hi,

where is the problem ?

This works for me

Code: Select all

Procedure lselect()
  il = CountGadgetItems(#lg) - 1 
  For i = 0 To il
    If GetGadgetItemState(#lg,i)     
      RemoveGadgetItem(#lg,i) ;can't do this
    EndIf   
  Next
EndProcedure
Best regards,

Bernd

Re: Delete multiple selection

Posted: Sat Feb 19, 2011 12:18 pm
by c4s
I don't know if it's the problem here but I think you have to go through the list from bottom to top.