TextChanged d'une textbox avec temporisation

babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 20 févr. 2012 à 11:47
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 20 févr. 2012 à 14:19
Bonjour

j'utilise un textbox pour filtrer une liste alimentée par une requete sql. J'utilise l'event TextChanged de la textbox pour mettre à jour cette liste par rapport au filtre saisie.
Le problème est que la requete retourne beaucoup de valeurs l'affichage et la saisie sont donc lents. J'aimerai donc éviter d'executer le SELECT quand l'utilisateur est en train de saisir. En clair, s'il tape rapidement 3 lettres, j'attends la saisie de ces trois lettres pour lancer le SELECT, ensuite, si uneseonce plus tard il saisie un quatrieme lettre, je relance le SELECT...
Merci



DT

2 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
20 févr. 2012 à 13:57
Hello,
Ce qui est fait généralement c'est de ne lancer le traitement qu'à partir d'un certain nombre de caractères saisis, genre 3.
Donc, si l'utilisateur entre sa 3e lettre, tu peux lancer la requête.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
20 févr. 2012 à 14:19
Salut,

comme dit Buno tu peux lancer ta requête à partir de 3 caractères saisis : requêtes moins fréquentes, résultat plus court.

Si jamais 3 lettres te donnent encore beaucoup de résultats tu peux également ajouter un TOP/LIMIT à ta requête, pour n'afficher que les x premiers enregistrements.

C'est une astuce qu'on utilise beaucoup sur nos AjaxBox en ASP.NET pour minimiser les info en transit.
0
Rejoignez-nous