Italian Usare xCustomListView al posto della listview in una app di gestione comande

fifiddu70

Well-Known Member
Licensed User
Longtime User
Ciao a tutti come da titolo avrei la necessità di sostituire le listview nella mia app di gestione delle comande con la xCustomListView
esattamente non so se potrei farlo anche con la listview in origine, anni fa ho realizzato una app di gestione comande che permette attraverso 9 spinner dove per ogni spinner inserisco ad esempio: spinner1 le pizze, spinner2 i primi piatti, spinner3 i secondi etc...
alla fine utilizzo una listview che si va caricando di qeusti prodotti nei vari menù, vorrei poter fare in questa listview ( cosa che non riesco a fare adesso ) portare ad esempio tutte sopra le pizze, subito sotto i primi, e a seguire i secondi, qualcuno sa darmi un aiuto in merito? perchè quando il cameriere gira nel tavolo per la comanda può capitare che un cliente chiede ad esempio una pizza mentre l'altro cliente un primo ed il terzo cliente una pizza, ovviamente non verranno ordinate per menù per come ho la mia app e mi piacerebbe alla fine prima di inviare la comanda avere tutto suddiviso per menù.
 

Sagenut

Expert
Licensed User
Longtime User
Puoi semplicemente riordinare gli elementi della listview in una list divisi come li vuoi alla fine e con quella ripopolare di nuovo la listview.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
allora....ci sono 9 spinner dove sono inseriti i prodotti, esempio:
spinner1 ci sono le pizze:
1: pizza capricciosa - Euro 5.00
1: pizza marinara - Euro 6.50

nello spinner2 invece i primi:
1: spaghetti gambero e conza . Euro 7.00
1: spaghetti amatriciana - Euro 8.00

e cosi fino ai restanti spinner per un totale di 9 spinner

quando si fa click su ogni spinner nella listview si carica l'elemento selezionato degli spinner creando così la comanda:

codice:
listview.add (spinner1.selecteditem)
listview.add ( spinner2.selecteditem)
listview.add (spinner1.selecteditem)

il problema e che io vorrei che tutti i prodotti dello spinner1 andrebbero tutti insieme a seguire i prodotti dello spinner 2 etc.
invece quello che succederà nella listview sarà che nella prima riga ci sarà la pizza, nella seconda riga il primo con gli spaghetti e nella terza dinuovo la pizza.
come faccio a far ordinare tutto ciò, quindi le pizze con le pizze e i primi con i primi etc..
non ho mai lavorato con le list ma avevo pensato di creare 9 list per i nove spinner quindi: listaspinner1, listaspinner2, etc fino a 9
e caricare nelle sub rispettive degli spinner la lista, infine un pulsante al click
dovrà rirdinare le liste come detto e permettere poi di caricarla alla listview in maniera corretta per essere poi stampata ed interpretrata con i vari prodotti per categoria
le pizze per il pizzaiolo i primi per il reparto cucina etc.
sarebbe ancora bello che se riuscissi a stampare separatamente per ogni reparto solamente il prodotto di appartenenza mentre per adesso nella mia app sia al ristorante che alla pizzeria arrivano insieme sia i prodotti di pizzeria e ristorante.
Qualcuno può aiutarmi con un esempio di codice per completare questo descritto?
 

Sagenut

Expert
Licensed User
Longtime User
Beh, hai appena scritto tu una possibile risposta al tuo problema.
Tralasciando che non sarà la più elegante, però fare delle liste dedicate per gli elementi di ogni Spinner ti permette già di popolare la listview con i prodotti raggruppati come vuoi.
Inoltre ti permette di avere anche già le liste divise per inviare le pizze al pizzaiolo e le altre cose alle cucina.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
si hai ragione solo che non ho capito come riempire la lista per ogni spinner e poi alla pressione di un pulsante caricare la listview per ordine di lista.
 

LucaMs

Expert
Licensed User
Longtime User
alla fine utilizzo una listview che si va caricando di qeusti prodotti nei vari menù, vorrei poter fare in questa listview ( cosa che non riesco a fare adesso ) portare ad esempio tutte sopra le pizze, subito sotto i primi, e a seguire i secondi, qualcuno sa darmi un aiuto in merito? perchè quando il cameriere gira nel tavolo per la comanda può capitare che un cliente chiede ad esempio una pizza mentre l'altro cliente un primo ed il terzo cliente una pizza, ovviamente non verranno ordinate per menù per come ho la mia app e mi piacerebbe alla fine prima di inviare la comanda avere tutto suddiviso per menù.
Magari al cameriere farebbe più comodo avere la lista ordinata "in senso orario". Voglio dire, per ricordare a chi vada quale piatto?

Comunque, penso ci siano due modi diversi, direi:
  1. alla selezione di un tipo di portata (pizza, primo, secondo, ...) il codice va ad esaminare tutta la CLV, a partire dal primo item, e crea un nuovo elemento che inserisce come ultimo di un certo tipo di portata
  2. mantiene un List ordinata, inserisce la nuova portata e ricarica la CLV da zero con i dati di questa List, ovvero prima svuotandola.
Il metodo 2 è meno sofisticato ma visto che gli item saranno comunque pochi non dovrebbe essere un problema. Gli elementi della List saranno di tipo personalizzato, ad esempio
B4X:
Type Portata(Nome As String, Descr As String, Tipo As String)
In questo modo sarà possibile ordinarli:
B4X:
lstPortate.SortType(Tipo, True)

Per il metodo 1, sempre usando un custom type come quello sopra (ovviamente lo farai come ti pare, magari ci sarà anche il prezzo ed altro), ad ogni item della CLV assocerai come valore un oggetto di questo tipo.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Magari al cameriere farebbe più comodo avere la lista ordinata "in senso orario". Voglio dire, per ricordare a chi vada quale piatto?
Sarebbe carina, e più che altro utile al cameriere, un'app che mostrasse un tavolo (selezionato), con i clienti (ovviamente disegni-imageview) intorno ad esso, e quando fai click su uno ti mostrasse ciò che ha ordinato.
 
Last edited:

fifiddu70

Well-Known Member
Licensed User
Longtime User
LucaMs la mia app esiste da anni e negli ultimimesi lo portata a livelli quasi professionali solo per la gestione della comanda, vedi video:
 

LucaMs

Expert
Licensed User
Longtime User
Si dovrebbe poter distinguere gli utilizzi, da parte del cameriere o del ristoratore (e magari del cuoco ?).

Intendo dire che, visto che l'app è unica, quando sia in mano al cameriere questi non possa variare i prezzi, ad esempio, quindi attivare/disattivare le funzionalità in base all'utente dell'app.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
La mia app ha un accesso riservato al titolare dove tutte le comande inviate sono visualizzate in dettaglio quindi anche se la gestione e da personale esterno l'importante e inviare la comanda e anche se strappano la comanda per non risultare sulla contabilità in realtà rimane la traccia.
 
Top