PrimeFaces の DataTable で別のページネーション方法を使用しようとしています。
私がやりたいことは、新しいページが「垂直に」表示されるようにするため、新しくロードされたデータを前の DataTable の最後に追加する必要があることです。
Facebook のホーム ストリームのようなもので、[古い投稿を読み込む] をクリックすると最新の投稿の下に表示されます。
これは可能ですか??
ページネーターを使用してほとんどすべてを試しましたが、「垂直」な dataTable を構築する方法がないようです。
PrimeFaces を使用していない場合、必要なコンポーネントはありますか?
ロードは遅延する必要があるため、ユーザーが新しいデータをロードすることを決定するたびに、クエリを実行する必要があります。リストなどはありません!
ありがとう :)
編集:
JSFページ
<pou:dataTable scrollable="true" liveScroll="true" scrollHeight="400" scrollRows="100" value="#{postListBean_1.posts}" var="post">
<pou:column>
#{post.testo}
<hr/>
</pou:column>
</pou:dataTable>
豆
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ManagedBeans;
import ejb.PostManagerLocal;
import entity.Post;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
* La classe si occupa di gestire lo scambio di messaggi tra utenti. Da
* implementare ancora i metodi per l'invio e per la segnalazione dell'avvenuta
* lettura.
*
* @author stefano
*/
@ManagedBean
@RequestScoped
public class PostListBean_1 implements Serializable {
@EJB
private PostManagerLocal postManager;
private List<Post> posts;
private int limit = 0;
/**
* Get the value of posts
*
* @return the value of posts
*/
public List<Post> getPosts() {
limit+=4;
makePosts();
return posts;
}
/**
* Set the value of posts
*
* @param posts new value of posts
*/
public void setPosts(List<Post> posts) {
this.posts = posts;
}
/**
* Creates a new instance of PostListBean
*/
public PostListBean_1() {
}
/**
* Inizializza la lista dei posts, prendendoli in ordine inverso, in modo da
* avere prima i più recenti
*/
@PostConstruct
public void makePosts() {
int[] range = {0, limit};
posts = postManager.findRangeReverse(range);
}
}