Ricerca record durante digitazione testo in una textbox

martedì 14 marzo 2006 - 09.54

trinity Profilo | Guru

Ragazzi,
io dovrei far in modo che mentre digito un codice di ricerca in una textbox, nella stessa textbox deve avvenire la ricerca del codice nell'archivio e visualizzarlo contemporaneamente sulla textbox durante la digitazione....visto che non so se mi sono fatto capire vi faccio un'esempio....avete presente la funzione T9 di un cellullare, che mentre viene scritta una lettera, visualizza direttamente una parola che inizia per quella lettera e così via....debbo fare una cosa del genere in vb net 2005, stavo pensando di utilizzare l'evento keyup, ma non so come fare, potete darmi un consiglio?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

Brainkiller Profilo | Guru

>direttamente una parola che inizia per quella lettera e così
>via....debbo fare una cosa del genere in vb net 2005, stavo pensando
>di utilizzare l'evento keyup, ma non so come fare, potete darmi
>un consiglio?

Capito l'esempio.
Ci sono due cose da considerare, la più banale ossia la gestione del tasto premuto e la seconda la query da effettuare. A mio avviso ti conviene fare una query all'inizio e recuperare tutti i dati e successivamente ad ogni pressione di tasto creare delle dataview da assegnare alla textbox o alla combo. In questo modo eviti numerose query sul database.

Il problema del tasto non è così difficile come sembra, puoi gestire tre eventi KeyUp, KeyPress, KeyDown, dipende come è più comodo per te.

Una volta gestito l'evento devi verificare la prima parte digitata nella textbox, fare un filtro sul Dataset delle voci, e poi cercare quella che più si avvicina e inserirla nella textbox, ricordandoti di mantenere il cursore al posto in cui era.

Trovo che questa soluzione richiede troppo tempo. Secondo me è meglio se nella TextBox o meglio ComboBox digiti un pezzo di parola, premi Invio, vengono caricate le voci simili nella Combo e poi manualmente l'utente la sceglie.
ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

trinity Profilo | Guru

In effetti io faccio già così.
Ma nel modo in cui avevo pensato potevo velocizzare la ricerca del record da parte dell'utente.

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5