2010-12-14 42 views
0

J'ai un riche: dataTable avec dataScroller. Dans chaque page, j'ai besoin de montrer 5 enregistrements. Le nombre d'enregistrements change de façon dynamique. J'actualise dataTable toutes les 20 secondes pour voir s'il y a un nouvel enregistrement.riche: dataScroller comment changer de page toutes les 10 secondes?

S'il y a plus de 5 enregistrements, dataTable aura deux ou plusieurs pages.

S'il y a plus d'une page pour dataTable, est-il possible de dire à dataScroller de changer de page toutes les 10 secondes? Après il montre la dernière page, il devrait revenir à la première page.

Merci

Répondre

0

Eh bien, vous pouvez lier dataScroller avec le haricot (à l'aide de prop. « Obligatoire ») et utiliser un javascript pour « cliquer sur un bouton invisible » qui exécute une fonction de haricots pour aller à la page suivante ..

xhtml:

<script type="text/javascript"> 
    var t; 
    t=setTimeout("timedCount()", 1000); 

    function timedCount() { 
     document.getElementById('formName:button').click(); 

     t=setTimeout("timedCount()", 10000); 
    } 
</script> 

(...) 

<h:commandButton id="button" action="#{bean.scrollNext}" reRender="tableID" 
       style="visibility:hidden;"/> 

(...) 

Bean:

HtmlDataScroller scroll; //(im not sure about the "HtmlDataScroller") 

(...) 

public void scrollNext() { scroll.next(); } 

(...) 

//Gets and sets to bind the scroller 
get; set;... 

Ne pas oublier de faire une nouvelle instance de htmlDataScroller ou vous obtiendrez un nullPointException ..

0

Je suppose que ce n'est pas impossible. S'il vous plaît, essayez de regarder dans le composant a4j: poll. Je vais essayer et j'espère mettre plus de mises à jour

0

AFAIK, ce n'est pas possible avec les riches par défaut. Je pense que vous serez en mesure d'actualiser les données dans votre tableau périodiquement en utilisant <a4j:poll>, mais pas le changement de page automatique. Toutefois, le <rich:datascroller> a une API côté client (qui est décrite here). La combinaison de ceci avec javascript timing peut être le moyen de faire fonctionner le changement de page.