Refresh listbox

come da titolo, ho una listbox che mi rappresenta le righe di un ordine B2B
al dblclick sulla riga apro una dialog con cui posso variare la quantit.

Riesco ad aggiornare il db con la nuova qt ma non ad aggiornare la visualizzazione della listbox…

ho provato con un metodo ed a richiamarlo, cosi come a richiamare l’evento show della listbox (nel quale si riempie la griglia)…consigli???

vi allego uno screenshot…grazie! ciro
link text

Ciao Ciro,
non difficile,
ipotizzando che la tua listbox si chiami ListBox_articoli :

ListBox_articoli.Cell(n_riga, n_colonna) = “123”

in realt avrei bisogno che venga ricaricata, sia perch se metto la qt a 0 devo cancellare la riga, sia perch mentre popolo la listbox faccio dei calcoli sui totali…

quindi dovrei eliminare tutte le righe e rileggerle daccapo con la situazione aggiornata del db

Senza ricaricare tutto puoi provare con:

per togliere o aggiornare la riga…
if qta = 0 then
ListBox_articoli.RemoveRow(n_riga)
else
aggiorna le celle della riga: qta, torale sconti etc etc…
ListBox_articoli.Cell(ListBox_articoli.ListIndex, n_colonna) = nuovi dati…
end if

per aggiornare i totali…
for i as integer = 0 to ListBox_articoli.RowCount-1
fai quello che devi fare…
next

se invece vuoi ricaricare tutto
ListBox_articoli.DeleteAllRows

poi richiami il metodo che popola la lista…

allora, se guardi la foto linkata, io apro una mascherina (dialog) partendo da un’altra dialog (la vedi in secondo piano) ed alla chiusura di questa mascherina (cliccando sul pulsante aggiorna) devo modificare la listbox (che sulla dialog sotto)

il problema che su questa mascherina, non riesco a “puntare” alla listbox che sta sotto, cio facendo nomedialog. e spingendo tab non mi appare…

ho messo in public lo scope della listbox ma in fase di compilazione mi dice

this item does not exist

La dialog dovrebbe avere un evento che puoi utilizzare nella finestra principale. Passa a questo evento la i dati necessari (come propriet della dialog ad esempio) e aggiorna la listbox (aggiorna la riga e fai l’invalidate della riga)

ok grazie, ci provo…