lolo80000
Messages postés22Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention16 août 2012
-
19 mai 2010 à 09:43
lolo80000
Messages postés22Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention16 août 2012
-
19 mai 2010 à 10:27
Bonjour à tous,
Voila il s'agit tout d'abord d'un client lourd en java, j'affiche une popup avec un champs Libellé et à chaque fois que l'on saisit un caractère une liste est mise à jour en temps réel avec les mots contenant les caractères saisies.
Il y a un écouteur sur le libellé et a chaque nouveau caractère est appelé la méthode "modifyText".
Le problème c'est que pour chaque nouveau caractère il recherche dans la base de données tous les mots contenant les caractères et lorsque l'on tape 5 ou 6 caractère rapidement c'est long, très long...(>20s). C'est pourquoi j'aimerai mettre une tempo par exemple de 0.5s et au bout de cette tempo on envoie la requête au serveur et si un nouveau caractère est saisi avant la fin de la tempo on remet la tempo et on exécute pas le requête.
Le but est d'envoyer les 6 caractères une seule fois.
Exemple :
actuellement si on tape "remplace" et il fait la recherche avec "r" puis avec "re" puis "rem"...
il serait mieux de faire direct "remplace"
Le problème c'est que j'ai déjà essayé quelques code mais pas concluant...si quelqu'un peu m'aider ce serait génial !!
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 mai 2010 à 10:18
Salut,
Il te faut un Timer que tu réintialises à chaque saisie d'un nouveau caractère : pas besoin de lancer la requête tant que l'utilisateur tape du texte.
Ainsi : l'utilisateur tape "r", tu initialises le timer, puis l'utilisateur tape un "e" 150 ms plus tard, tu réinitialise ton timer, puis l'utilisateur tape un "m" 450 ms plus tard, tu réinitialise ton timer, etc.
Ainsi, ca t'évite en plus de charger des données toutes les 500 ms alors que l'utilisateur tape toujours son texte.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 mai 2010 à 10:19
Salut,
Autre chose : n'oublie pas de faire la requête dans un thread histoire de ne pas bloquer le programme le temps de la requête !
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement