2010-12-14 14 views
0

私はrich:dataTableとdataScrollerを持っています。各ページに5つのレコードを表示する必要があります。レコード数が動的に変化します。 20秒ごとにdataTableをリフレッシュして、新しいレコードがあるかどうかを確認します。rich:dataScroller 10秒ごとにページを切り替える方法は?

5つ以上のレコードがある場合、dataTableは2つまたはページを持ちます。

dataTableに複数のページがある場合、10秒ごとにページを切り替えるdataScrollerと言うことはできますか?最後のページが表示されたら、最初のページに戻ります。

ありがとうございました

答えて

0

さて、あなたは...(「結合」。デ・小道具を使用して)豆とdataScrollerを結合して、次のページに行くための豆の機能を実行し、「目に見えないボタンをクリックし、」JavaScriptを使用することができます

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;"/> 

(...) 

豆:

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

(...) 

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

(...) 

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

いけないhtmlDataScrollerの新しいインスタンスを作成することを忘れたり、nullPointExceptionを得るでしょう。..

0

これは不可能ではないと思います。 a4j:pollコンポーネントを調べてみてください。試してみようとうまくいけば更なる更新を投稿します

0

AFAIK、これはデフォルトのリッチフェイスでは不可能です。私はあなたのテーブルのデータを定期的に<a4j:poll>を使ってリフレッシュできると思っていますが、自動ページ切り替えはできません。 しかし、<rich:datascroller>には、クライアント側のAPI(hereと記載されています)があります。 これをjavascript timingと組み合わせることで、ページ切り替えの作業を行うことができます。

関連する問題