fratac ha scritto:
Ciao.
Sono contento di esserti stato di aiuto.
Però ho due curiosità.
La prima, è la solita, che mi ha inizialmente fuorviato.
In questo modo inibisci la digitazione nella combo box. Una cosa a cui non avevo mai pensato e quindi ho imparato qualcosa.
Però non ne capisco l'utilità.
Come detto, l'autocompletamento non innesca nessun evento, a meno che non ci sia del codice su "change" ("Su modifica"), ad esempio una query di ricerca, dove effettivamente, appena trova il primo valore valido, l'autocompletamento, fa partire il codice.
Perchè alla selezione di una voce in lista richiama i dati da un DB, quindi eseguo delle azioni in funzione della scelta.
fratac ha scritto:
Quello che non capisco è perchè fai eseguire una query su change, quando invece se la sposti direttamente su "dopo aggiornamento", praticamente nella combo box, puoi scrivere quello che ti pare, ma se non selezioni un valore dalla tendina, oppure premi invio o sposti il focus, non viene attivato nessun evento della combo box. Quindi senza aver bisogno di bloccare la digitazione.
E' solo per evitare il messaggio di valore non in elenco?
Se così fosse effettivamente è un modo veloce per ottenere l'effetto, senza doverlo gestire in altro modo che è sicuramente più ostico.
Il messaggio di errore è una perdita di tempo ed una scocciatura per l'operatore, lo distrae e gli va in antipatia il programma.
La soluzione che è arrivata col tuo contributo è perfetta, nessun messaggio di errore, digitazioni spurie non visualizzate ecc.
fratac ha scritto:
Ma se effettivamente non hai problemi con il messaggio, secondo me puoi anche permettere la digitazione, perchè se dovessi avere molti valori tra cui scegliere, dovresti cercarli manualmente nella tendina e l'autocompletamento ti sarebbe di grande aiuto, senza contare che il messaggio, aiuta l'utente a capire se un valore è già stato inserito nell'origine riga.
A patto, come detto, naturalmente che tu faccia eseguire il codice di ricerca "su dopo aggiornamento" e non "su modifica".
Senza messaggi di errore il funzionamento è pulito e lineare.
Il requisito è non dare libertà all'operatore, selezionare dalla lista...Spostando l'evento da Change a Afterupdate non lo so ma prima non facevi in tempo a digitare il numero dopo la lettera, per cui non era possibile avere la "selezione veloce".
Partiva sempre il primo elemento della lista
fratac ha scritto:
La seconda curiosità, e non voglio farmi gli affari tuoi.
Se il motivo, non rientra nella prima curiosità, in che modo ritorna utile il blocco della digitazione?
E' solo un effetto "estetico", oppure ha una reale esigenza che non riesco ad immaginare?
Non c'è nessun segreto, il programma è un sistema di comande per un ristorante, i camerieri non devono perdere tempo con messaggi di errore e digitazioni sbagliate, più veloce e semplice possibile.
a prova di idiota, col rispetto per la categoria.
Per farVi capire con chi si ha a che fare, l'intenzione iniziale era quella di utilizzare dei monitor touch...Causa le unghie lunghe, le ragazze avevano difficoltà nell'utilizzare il touch, ho dovuto mettere mouse + tastiera.
Quando mi hanno presentato l'anomalia del messaggio di errore per caratteri non compresi nella lista, ho risposto che è sufficiente non scrivere nulla nella combo ma SEMPLICEMENTE utilizzare i valori della tendina.
Ve ne posso raccontare a iosa di situazioni che per noi non sono un bug ma che per loro sono un enorme problema.
fratac ha scritto:
Per quanto riguarda invece le righe alternate, non so risponderti con sicurezza, perchè non ho mai avuto l'esigenza e quindi non ho mai investigato, ma da quello che so, ti devi accontentare di un coloro unico, che è quello dello sfondo della combo box.