Aiutoooo su un ciclo for..next in una listview

giovedì 15 maggio 2008 - 10.32

trinity Profilo | Guru

Ragazzi,
sto scrivendo in vbnet 2005 questo codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

se seleziono i record nella listview di file funziona tutto se invece alterno per esempio seleziono il primo, il terzo ed il quinto; sul primo record selezionato il codice funzione poi ovviamente salta il secondo perchè non è selezionato e al terzo esce un errore di debug sulla seguente linea di codice: ObjC59.NumeroSchedina = Convert.ToInt32(Me.ListView1.SelectedItems(tt).Text)

Il messaggio di errore è il seguente:

InvalidArgument=Valore di '2' non valido per 'index'.
Nome parametro: index

Perchè dove sbaglio? Come posso risolvere?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

aiedail92 Profilo | Expert

Ciao

L'errore dipende dal fatto che, se alcuni elementi della listview non sono selezionati, SelectedItems conterrà un numero di elementi inferiore rispetto a Items.

tt varia da 0 a Items.Count:

For tt As Integer = 0 To Me.ListView1.Items.Count - 1 '... Next

Ma quando cerchi di ottenere l'indice dell'oggetto selezionato:

Me.ListView1.SelectedItems(tt)

a un certo punto tt sarà maggiore del numero di elementi selezionati, pertanto viene generato l'errore.

Per risolvere sostituisci

Me.ListView1.SelectedItems(tt)

con

Me.ListView1.Items(tt)

Luca

trinity Profilo | Guru

Grazie mille funziona
a buon rendere
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5