Suggerirei di controllare il codice presente a questa pagina di Wiki: https://www.gambas-it.org/wiki/index.php?title=Assegnare_colori_allo_sfondo_ed_al_testo_di_una_riga_selezionata_di_una_ListView
Ho provato il codice che secondo me contiene un errore ListView1[j + 1]
ListView1[ob.Row + 1]
da entrambi va tolto il +1
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.
Io con le GTK ottengo un malfunzionamento in questo codice:
txtIndex.Select(Len(txtIndex.text) - 1, Len(txtIndex.text))
Mentre con le QT vengono selezionate le sole lettere non trovate con GTK non viene selezionato nulla, succede anche a voi?
:ciao:
Vi ho letti e trovo il mondo Gambas sempre più affascinante! Oggi ho imparato che prima di muovere commenti occorre anche guardare con che libreria si sta lavorando..... e per un ciclo For non me lo sarei aspettato. Volevo ringraziare Gianluigi per il "nuovo" codice di evidenziazione della row, molto chiaro e sopratutto conciso, limpido e funzionante!
Per quanto riguarda quella pagina di Wiki, mi permetto di suggerire a vuott l'aggiunta di una riga per il clic su una voce della listView, lo so che è quasi scontato, ma se è una guida è una guida e ti deve menar per ditino....perchè sia di immediata comprensione l'uso anche al neofita....come me: Dim s As String
s = ListStampanti.Current.Text