Datatable paginator не отображается - PullRequest
0 голосов
/ 28 марта 2011

Я делаю очень простой набор данных с тегом dataSable JSF 2.0, но по какой-то причине не отображается страница-страницаПочему это так?

<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> 

Ответы [ 3 ]

1 голос
/ 28 марта 2011

paginatorAlwaysVisible является атрибутом реализации с данными datatable, поэтому вам необходимо использовать тег datatable из пространства имен primefaces: p:dataTable.

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

Один или несколько ресурсов имеют цель 'head', но в представлении не определен компонент 'head'.

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

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
1 голос
/ 28 марта 2011

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

Нумерация страниц работает только с данными dataTable простых лиц, а не с простой таблицей данных jsf.

0 голосов
/ 19 апреля 2011

@ 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" эстетически хорош, если ваш запрос не возвращает записи - в этом случае раздел с разбивкой на страницы не будет отображаться, если записи нет. Иначе, это видно, если по вашему запросу возвращена хотя бы одна запись.

...