Thanks, I will give this a try. Michael On 05/11/10 18:09, user wrote: > Example with ListView control lswResults > > ----------------------------------------------- > ' Gambas class file > PRIVATE sFileArray AS String[] = [""] > PRIVATE iKeyArray AS Integer[] = [0] > PRIVATE bKeyControlPressed AS Boolean = FALSE > PRIVATE bSellectAllPressed AS Boolean = FALSE > > > > PUBLIC SUB Form_Open() > sFileArray.Clear 'reset private array > iKeyArray.Clear 'reset private array > END > > > > PUBLIC SUB btnSelectAll_Click() > bSellectAllPressed = TRUE > lswResults.SelectAll > END > > > PUBLIC SUB lswResults_KeyRelease() > > IF Key.Control = TRUE THEN > bKeyControlPressed = FALSE > ENDIF > > > END > > PUBLIC SUB lswResults_KeyPress() > > IF Key.Control = TRUE THEN > bKeyControlPressed = TRUE > ENDIF > > END > > > > PUBLIC SUB lswResults_Select() > > DIM iKey AS Integer = 0 > DIM sElement AS String = "" > DIM sFile AS String[] = [""] > DIM sRow AS String = "" > DIM iCounter AS Integer > > sFile.Clear > sRow = Replace$(lswResults.Current.Text, " ", "\n") 'format string > sFile = Split(sRow, "\n") 'split row and take only path, reject virus > description > > ' PRINT lswResults.Current.Text > ' PRINT sFile[0] > > > 'HERE IS WHAT YOU LOOK FOR ------------------------------- > 'if user select with CTRL > IF bKeyControlPressed = TRUE THEN > 'check if in sFileArray there is a current selection > IF sFileArray.Count> 0 THEN > 'if there is one user clicked unselect > IF sFileArray.Exist(sFile[0]) THEN > 'delete entry of current selected item from sFileArray and from > iKeyArray > iKey = sFileArray.Find(sFile[0]) 'find key > sFileArray.Delete(iKey) 'delete selection according found key > iKey = iKeyArray.Find(lswResults.Current.Key) 'find key for second > array > iKeyArray.Delete(iKey) 'delete selection according found key > ' lswResults.Current.Selected = FALSE > ELSE > 'if there is not, add the new selection > sFileArray.Add(sFile[0]) > iKeyArray.Add(lswResults.Current.Key) > ENDIF > ELSE 'add into Arrays for first time, sFileArray.Count=0 > sFileArray.Add(sFile[0]) > iKeyArray.Add(lswResults.Current.Key) > ENDIF > ELSE IF bSellectAllPressed = TRUE THEN 'if user pressed btnSelectAll > sFile.Clear 'clear array > sFileArray.Clear > iKeyArray.Clear > > lswResults.MoveFirst 'add all items of listview into arrays > FOR iCounter = 0 TO lswResults.Count - 1 > sRow = Replace$(lswResults[lswResults.Item.Key].Text, " ", "\n") > 'format string > sFile = Split(sRow, "\n") 'split row and take only path, reject virus > description > sFileArray.Add(sFile[0]) > iKeyArray.Add(lswResults[lswResults.Item.Key].Key) > lswResults.MoveNext > NEXT > bSellectAllPressed = FALSE > > ELSE 'user makes single clicks > sFileArray.Clear > iKeyArray.Clear > > sFileArray.Add(sFile[0]) > iKeyArray.Add(lswResults.Current.Key) > > ENDIF > '-------------------------------------------------------- > > > ' PRINT "----------------------" > ' FOR EACH sElement IN sFileArray > ' PRINT sElement > ' NEXT > > END > > > On Fri, 2010-11-05 at 15:09 +1100, Michael wrote: >> I'm a newbie to Gambas and very impressed. Managed to solve all my >> queries and port apps from VB. However I have one problem that has me beat:) >> I have a GridView with Mode = Multiple and can select multiple rows; >> either sequentially or at random. So far so good as similar to VB. >> I want to loop through the selected items and take some action on each >> item. eg: Delete the row. >> I cannot find a way to read the selected row. The Gridview.Row property >> only returns the last selected row. >> Typically my grid may contain 1000 rows and I use this function to >> delete old records. It would be tedious one at a time. I could get >> around it by asking the user to enter a cutoff date or range of row >> numbers to delete but this raises the question "What is the point of >> having a Multiple mode attribute?" >> Thanks >> Mike >> >> ------------------------------------------------------------------------------ >> The Next 800 Companies to Lead America's Growth: New Video Whitepaper >> David G. Thomson, author of the best-selling book "Blueprint to a >> Billion" shares his insights and actions to help propel your >> business during the next growth cycle. Listen Now! >> http://p.sf.net/sfu/SAP-dev2dev >> _______________________________________________ >> Gambas-user mailing list >> Gambas-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gambas-user > > > ------------------------------------------------------------------------------ > The Next 800 Companies to Lead America's Growth: New Video Whitepaper > David G. Thomson, author of the best-selling book "Blueprint to a > Billion" shares his insights and actions to help propel your > business during the next growth cycle. Listen Now! > http://p.sf.net/sfu/SAP-dev2dev > _______________________________________________ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user > > >
------------------------------------------------------------------------------ The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book "Blueprint to a Billion" shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user