Italian ListView

nonno

Active Member
Licensed User
Longtime User
Ciao Ragazzi, dovrei inserire all'interno di ListView sulla stessa linea fino a 6 righe, ho visto dei tutorial che permettono di inserire una seconda riga, da giorni cerco di provare ma non riesco ad andare oltre la seconda riga!
Forse non è possibile ?
Grazie Mille
 

nonno

Active Member
Licensed User
Longtime User
Scusate come posso leggere il contenuto di una CustomListView con più righe ?

in questo modo mi restituisce la posizione:rolleyes:
Dim index As String
index = clv1.GetItemFromView(Sender)
clv2.AddTextItem(index, "")
Grazie Mille
 

Star-Dust

Expert
Licensed User
Longtime User
Salva le righe un una lista di Type
 

nonno

Active Member
Licensed User
Longtime User
Ciao Ragazzi qualcuno potrebbe per favore dirmi come posso fare, tramite un pulsante all'interno di una customlistview modificare il contenuto di una label sulla stessa riga dove risiede il pulsante?, mi va a modificare l'ultima riga della customlistview e non quella sul pulsante.
Grazie mille
Screenshot (5).png
 

udg

Expert
Licensed User
Longtime User
Ciao,
non sono al mio PC quindi non riesco a copiarti direttamente il codice. Dai un'occhiata a come vengono gestiti i tasti incremento/decremento nel progetto che ho allegato ad una diversa richiesta da parte di un altro utente.

udg
 

nonno

Active Member
Licensed User
Longtime User
Ciao,
non sono al mio PC quindi non riesco a copiarti direttamente il codice. Dai un'occhiata a come vengono gestiti i tasti incremento/decremento nel progetto che ho allegato ad una diversa richiesta da parte di un altro utente

ho scaricato il tuo esempio, il mio problema non è aumentare le quantità, non riesco a richiamare la riga e inserire dati all'interno della Label precedentemente creata.:(
Dovrebbe essere la stessa cosa ma i dati li va ad inserire nell'0ltima riga creata
 

udg

Expert
Licensed User
Longtime User
Da quell'esempio a te erano sufficienti queste tre righe:
B4X:
   Dim iv As ImageView = Sender
   Dim row As Int =clvGrid.GetItemFromView(iv)
   Dim rowpnl As Panel = clvGrid.GetPanel(row)
Nel tuo caso (button invece di ImageView), avresti:
B4X:
Sub MyButton_Click
   Dim bt As Button= Sender
   Dim row As Int =clvGrid.GetItemFromView(bt)  'questo è l'indice del pannellino il cui button hai premuto
   Dim rowpnl As Panel = clvGrid.GetPanel(row)    'questo è il pannellino in cui si trova la label che vuoi modificare
  ...
end sub

dove MyButton è il nome comune dell'evento che hai attribuito a tutti i button.
 

nonno

Active Member
Licensed User
Longtime User
Avrei un altro problema, con il codice di seguito riportato perché non riesco a vedere l'ultima riga inserita? ma vedo sempre la penultima:(
anche se incremento i +1 non cambia nulla, se invece metto un valore fisso tipo i = 2 mi fa vedere sempre la riga dueo_O


Dim i As Int = clv1.GetSize
clv1.JumpToItem(i)
 

udg

Expert
Licensed User
Longtime User
In realtà dovrebbe darti errore perchè GetSize ritorna il numero di elementi il cui indice però parte da zero.
L'ultimo elemento di una clv dovresti trovarlo con i = clv1.GetSize-1
 

nonno

Active Member
Licensed User
Longtime User
In realtà dovrebbe darti errore perchè GetSize ritorna il numero di elementi il cui indice però parte da zero.
L'ultimo elemento di una clv dovresti trovarlo con i = clv1.GetSize-1

Grazie mille per la tua risposta, avevo sbagliato a scrivere qua sul forum, ma non funziona, visualizza sempre la penultima riga.:(

For i = 0 To clv1.GetSize - 1
clv1.JumpToItem(i)
Next
 

udg

Expert
Licensed User
Longtime User
Prova ad inserire Sleep(100) prima di JumpToItem.
Presumo che il tuo codice sia solo un esempio perchè non avrebbe senso chiedere alla clv di andare sull'i-esimo item in un loop come quello che hai scritto.
Sarebbe come dire: "vai al primo, vai al secondo, vai al terzo.."e così via fino all'ultimo.
Nelle versioni più recenti di clv ci sono anche funzioni che permettono di andare all'ultimo item visibile. In pratica su una lista di 20 pannelli, se ne stai visualizzando 8, hai una funzione che salta all'ottavo. Quando l'utente effettua uno scroll e mostra fino al dodicesimo, potrai saltare a quello e così via.
Dipende molto da cosa devi fare.
 
Top