-
Filtrage d'une JTable
Bonjour,
J'ai une JTable contenant des données SQL résultant d'un SELECT avec jointure multiple.
J'ai un JTextField de filtrage sur lequel j'ai une gestion de l'event KeyReleased.
A chaque caractère tapé dans le JTextField j'adapte le query SQL pour mettre à jour les données de la JTable, donc j'ai un SELECT à chaque touche.
Je fais des tests sur une petite base de données de test (4000 clients) en réseau local et ça fonctionne très bien...mais...la base base de données de production sera plus volumineuse (10x) et surtout pas forcement sur le réseau local...
J'aimerais avoir un mécanisme qui me permette de ne filtré que lorsque il se passe "un certain temps" après la dernière touche...
Exemple : on tape les touches :
a l a i n
et on s'arrete de taper des caractères et on lance le SELECT avec le mot "alain". Donc pas de SELECT après le a ni le l et ainsi de suite...
Merci d'avance pour vos idées.
PS : Je peux tjs demander à l'utilisateur de taper ENTER pour valider ça demande de filtrage mais ce serait tellement mieux avec le temps.
C'est le résultat d'un client exigeant et d'un programmeur perfectioniste...;)
-
Ou tu pourras tout simplement ne lancer la requête qu'une fois deux ou trois caractères entrés (voir un seul) , puis uniquement filtrer sur le résultset obtenu et ne plus réitérer de requête lourde alors que tu as déjà les données sous la main, sachant que le filtrage de resultset est relativement rapide et évite des accès I/O à la base de donnée qui pourraient être lents.