Вопрос

Я создаю очень простой datatable с помощью тега JSF 2.0 DataTable, но по какой-то причине разбиение страницы на страницы не отображается.Почему это?

<p:dataTable var="garbage" value="#{resultsController.allGarbage}" paginator="true" rows="10">          

            <p:column>  
            <f:facet name="header">  
            <h:outputText value="Filename" />  
            </f:facet>  
            <h:outputText value="#{garbage.filename}" />
             </p:column> 

            <p:column>  
            <f:facet name="header">  
            <h:outputText value="Description" />  
            </f:facet>  
            <h:outputText value="#{garbage.description}" />  
             </p:column> 

            <p:column>  
            <f:facet name="header">  
            <h:outputText value="Upload date" />  
            </f:facet>  
            <h:outputText value="#{garbage.uploadDate}" /> 
             </p:column>                
    </p:dataTable> 
Это было полезно?

Решение

Используйте p:dataTable вместо h:dataTable.

Пагистрация работает только с DataTable Primefaces, а не с простым DATATable JSF.

Другие советы

ГенеракодицетагCode является атрибутом реализации DataTable Primefaces, поэтому вам придется использовать тег DataTable из пространства имен Primefaces: paginatorAlwaysVisible.

Редактировать: Кроме того, вам нужен элемент p:dataTable, определенный на вашей странице, так что JSF вводит знание, где выводить дополнительные сценарии и таблицы стилей.Если это так, вы должны увидеть сообщение об ошибке, например:

Один или несколько ресурсов имеют цель «головы», но в представлении был определен компонент «голова».

Чтобы помочь отладочной обработке вы можете добавить следующий параметр контекста на ваш Web.xml:

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
.

@sfrj:Вам, вероятно, нужно что-то вроде этого:

<p:dataTable var="garbage" value="#{resultsController.allGarbage}" paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{FirstPageLink} {PageLinks} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15,20" paginatorAlwaysVisible="false">

paginator="true" только сообщает компоненту p:DataTable, что вам нужен элемент управления paginator, но вы еще не указали, что вы в нем хотите.Следовательно, вам нужен paginatorTemplate атрибут.То paginatorAlwaysVisible="false" атрибут хорош с эстетической точки зрения, если ваш запрос не возвращает записи - в этом случае раздел разбиения на страницы не будет отображаться, если записей нет.В противном случае, это видно, если есть хотя бы одна запись, возвращенная из вашего запроса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top