Bonjour.
Si tu souhaites absolument éviter l'ajax, il est possible de coder ce que tu veux rien qu'avec JavaScript, mais ce serait le marteau pour écraser la mouche (tu vas aussi te heurter aux problèmes liés au comportement différent de JavaScript sur les différents navigateurs).
Sinon, en gros, il fait faire ce que suit :
1. dans un managed bean, quand tu récupères tes enregistrements à partir de la base de données, tu génères du code JS dans une chaine, un code comme ceci par exemple :
var records = new Array(ligne1, ligne2, etc.);
le contenu de ton array va dépendre de tes records. Tu peux envisager de passer par un objet js pour stocker un record :
1 2 3 4 5 6
|
function record(nom, age){
this.nom = nom;
this.age = age;
return this;
} |
ton tableau devient alors :
var records = new Array(new record(....), new record(....), etc.);
2. Tu insères le code JS généré dans la page.
3. Tu laisses tomber le dataTable pour l'affichage des éléments dans sla page. tu crées plutôt une table html vide (avec un id).
4. Tu codes une fonction javaScript qui effectu la recherche avec un filtre dans le tableau records, et à chaque élement qui correspond insère une ligne dans la table (c'est du DHTML, tu peux envisager innerHTML par exemple).
Voilou, c'est une vue d'ensemble de ce qu'il faut faire pour réaliser ça à la main.
Bonne chance.
Partager