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
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...
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.