2015-05-23 4 views
0

У меня есть постраничного табличные данные:р: DataTable не постраничной

<h:form> 
    <p:dataTable var="proj" value="#{orderListView.projects}" 
       paginator="true" rows="3" 
       paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 
    > 
     <p:column sortBy="#{proj.id}"> 
      <h:outputText value="#{proj.id}" /> 
     </p:column> 
     <p:column sortBy="#{proj.name}"> 
      <h:outputText value="#{proj.name}" /> 
     </p:column> 
     <p:column sortBy="#{proj.displayName}"> 
      <h:outputText value="#{proj.displayName}" /> 
     </p:column> 
    </p:dataTable> 
</h:form> 

который основан на этой сущности:

@Entity 
public class Project implements Serializable { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 
    private String displayName; 
    private String name; 

    public Project() {} 

    public Project(int id, String displayName, String name) { 
     this.id = id; 
     this.displayName = displayName; 
     this.name = name; 
    } 

    // Getters+setters. 
} 

И заполняется в этом компоненте (для краткости, я опустил часть DAO/Service и я жестко прописывать модель в @PostConstruct):

@ManagedBean 
@RequestScoped 
public class OrderListView { 

    private List<Project> projects; 

    @PostConstruct 
    public void init() { 
     projects = new ArrayList<Project>(); 
     projects.add(new Project(10, "Cruze", "cruze")); 
     projects.add(new Project(11, "Dark-Hive", "dark-hive")); 
     projects.add(new Project(12, "Delta", "delta")); 
     projects.add(new Project(10, "Cruze", "cruze")); 
     projects.add(new Project(11, "Dark-Hive", "dark-hive")); 
     projects.add(new Project(12, "Delta", "delta")); 
     projects.add(new Project(13, "Dot-Luv", "dot-luv")); 
     projects.add(new Project(14, "Eggplant", "eggplant")); 
     projects.add(new Project(15, "Excite-Bike", "excite-bike")); 
     projects.add(new Project(16, "Flick", "flick")); 
     projects.add(new Project(17, "Glass-X", "glass-x")); 
     projects.add(new Project(18, "Cruze", "cruze")); 
     projects.add(new Project(19, "Dark-Hive", "dark-hive")); 
     projects.add(new Project(20, "Delta", "delta")); 
     projects.add(new Project(23, "Dot-Luv", "dot-luv")); 
     projects.add(new Project(24, "Eggplant", "eggplant")); 
     projects.add(new Project(25, "Excite-Bike", "excite-bike")); 
     projects.add(new Project(26, "Flick", "flick")); 
     projects.add(new Project(27, "Glass-X", "glass-x")); 
    } 

    public List<Project> getProjects() { 
     return projects; 
    } 
} 

таблица данных показывает правильно й e list, но разбиение на страницы не работает. Как это вызвано и как я могу его решить? Я также пробовал ленивую загрузку, но она тоже не работает.

+1

"* Я использую Sprimg MVC и PrimeFaces. *" - не соответствует действительности. Вы не можете использовать их вместе (PrimeFaces как библиотека компонентов JSF). – Tiny

+0

Прошу прощения, Spring Core -I изменил – user3650408

+0

Для ленивой загрузки вам нужно создать lazyDateModel для Project и реализовать собственный метод загрузки ... Вы, например, даже не близки к нему. http://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml – jNick

ответ

1

Я не уверен, что пошло не так на вашем конце, но я скопировал ваш код в тестовый проект, а paginator отлично работает с PrimeFaces 5.2.

+0

действительно, я удаляю загрузочные и загрузочные файлы, а зависимости и разбиение на страницы теперь работают! – user3650408

+0

Это здорово! Пожалуйста, разместите его как ответ и отметьте его как принятый. Вероятно, было бы неплохо включить загрузку в теги вопроса, возможно, другие столкнутся с той же проблемой в будущем. –

+0

Не только включают в себя сапоги как тег, но и в самом вопросе – Kukeltje

Смежные вопросы