E' strano... a me non dà alcun errore e funziona perfettamente.
Inoltre non comprendo come la Proprietà
.Max dell'array contenente tutte le righe del "Figlio", che è una
GridView, della
ListView possa causare in quel caso un errore di "Out of bound".
Infatti le righe del "
.Children" (la
GridView) della
ListView costituiscono anche le righe della
ListView medesima. Infatti le righe della
ListView sono sette, e il valore restituito da "
ob.Rows.Max" è coerentemente 6 ("ob" è una variabile di tipo Object che in questo caso punta alla
GridView "Figlia" della
ListView).
Per verificare ciò è sufficiente porre un "
Print" dopo la riga "
ob = ListView1.Children[0]":
Va detto, invero, che, a voler essere precisi, un
errore c'è nelle due parti di codice, da te segnalate, ed è l'assenza della funzione di conversione da valore numerico a valore ASCII stringa. Infatti il tipo di valore richiesto, da inserire nelle parentesi quadre, è di tipo Stringa, essendo l'identificativo della
chiave distintiva e
non il numero di
Indice dell'array ! A causa dell'
automatismo di conversione fra tipi (
che io non condivido), operato da Gambas, l'errore in tal caso viene prevenuto e così evitato.
Volendo comunque, come dicevo, essere precisi, le due parti andranno così rettificate:
ListView1[CStr(j + 1)].Richtext = ...etc...
ListView1[CStr(ob.Row + 1)].Richtext = ...etc...
Provvedo ora alla suddetta modifica nella pagina della WIKI.