Nell'Appear di una B4xPage chiamo la Sub ShowTable che riempie una B4XTable da un DB
Prima di caricare i dati però devo svuotarla altrimenti ogni volta mi ritrovo con le righe aggiunte alla precedente chiamata.
Come la svuoto?
B4X:
Private Sub ShowTable
'Svuotamento vecchi dati
tblData.Clear '===> cosi dà errore
tblData.SetData(Array()) '===> Così non la svuota. Le righe si aggiungeranno comunque alle precedenti
Private Query As String = "SELECT * FROM ..."
Dim ResSet As ResultSet = GL.SQL1.ExecQuery2(Query, Array ...
Do While ResSet.NextRow
Dim row(5) As String
row(0) = ResSet.GetString("ID")
row(1) = ResSet.GetString...
...
lstRecord.Add(row)
Loop
ResSet.Close
tblData.SetData(lstRecord)
End Sub
Mah. Mi sa che passerò ad una xClv per visualizzarli. Che poi non capito (perchè mi da errore e non sono riuscito ad applicarlo) ma B4Xtable.Clear cancella solo i dati o l'intera tabella compreso intestazioni di colonna e colonne stesse?
è evidente che lstRecord sia una variabile globale, in quanto non dichiarata in quella routine (a me "piace" anteporre una "m" per nomi di variabili private dichiarate a livello di (m)odulo, come mlstRecord. "g" se la variabile fosse pubblica: glstRecord).
Direi che prima di passarlo a SetData "forse" ? dovresti svuotarla. Potresti anche usare questa stessa per svuotare la B4XTable con quella "tecnica",anziché una nuova List creata appositamente.
Modifico il codice del tuo primo post...
B4X:
Private Sub ShowTable
'Svuotamento vecchi dati
lstRecord.Clear
tblData.SetData(lstRecord)
Private Query As String = "SELECT * FROM ..."
Dim ResSet As ResultSet = GL.SQL1.ExecQuery2(Query, Array ...
Do While ResSet.NextRow
Dim row(5) As String
row(0) = ResSet.GetString("ID")
row(1) = ResSet.GetString...
...
lstRecord.Add(row)
Loop
ResSet.Close
tblData.SetData(lstRecord)
End Sub
Ancora una volta, hai individuato il problema. Che pirla che sono! Non svuotavo la list, per cui era lei a conservare i vecchi dati e ad aggiungerli. Sei TOP!
Aluuura, non dico sempre, ma ogni tanto, marcate il mio post come "Soluzione", se ha risolto il problema.
Altri membri hanno un bel po' di "Solutions affibbiate" e sono invidioso ?. Anzi, andate a cercare tuuuuutti i vostri thread, controllate se vi ho fornito la soluzione ed agite ?
Per ogni "soluzione" incasserò la bellezza di... ZERO euro ? (come al solito ?)
[Ovviamente scherzo; non sono invidioso e con le "soluzioni" non ci faccio nemmeno la birra ? I "Like" un po' fanno piacere]
Io non la trovo sul pc sta iconetta.
Sull'estrema destra c'è Bookmark, il numero del post e basta.
Anzi, a tal proposito chiedo: A che serve quella icona Bookmark? La premo, salvo, e poi? Cosa mi salva un link di quel post? E dove sta, dove lo salva intendo...?
E visto che ci siamo: Cos'è "B4XDiscord Unofficial"?
I think the OP's English is very good and he is capable of posting in the English forum. It benefits more if you post in the English forum as I noticed your threads in the Italian (I do not understand or speak it) are very interesting. Also, you may give others a chance to give you a broader spectrum of answers.
ovviamente stai parlando di LucaMs...giusto?
Comunque di solito chiedo prima nel forum italiano. Poi se non ottengo soluzione (quasi mai...) vado sull'internazionale.
(obviously you're talking about LucaMs...right?)
However I usually ask first in the Italian forum. Then if I don't get a solution (almost never...) I go international.
Parlava di thread interessanti quindi pensavo che parlasse di lei, maestro...?
Che poi io chieda prima qui e poi all'estero è puro patriottismo...e stima in tutti voi
Solo adesso,rileggendomi, credo che tu LucaMs abbia interpretato il mio "quasi mai" nel senso che quasi mai ottengo soluzioni. Invece intendevo dire che quasi mai non le ottengo.
Così giusto per essere precisi.
È che tu ce l'hai con le doppie negazioni che diventano affermazioni....?