首页 > 解决方案 > 无法更改页面 p:dataTable

问题描述

我已经实现了在 primefaces 中做一个惰性表的代码,所以我有方法分页哪些检索信息。问题是它没有显示每页的数量。因此,如果我有 100 个元素,我只会看到 15 个元素。不显示页面按钮。

就像在这个屏幕截图中一样:

在此处输入图像描述

在豆子里:

 @PostConstruct
 public void init() {
    listadoPedidos = new LazyDataModel<Pedido>() {
        private static final long serialVersionUID = 1L;
        @SuppressWarnings("unchecked")
        @Override
        public List<Pedido> load(int first, int pageSize, String sortField, sortOrder sortOrder,
                Map<String, Object> filters) {
            List<Pedido> lista = new ArrayList<Pedido>();
            boolean ordenar = sortOrder == SortOrder.ASCENDING ? true : false;

            try {
                lista = commonService.obtenerListaPaginada(Pedido.class, first, pageSize, "", "", "", "", campos);
                listadoPedidos.setRowCount(lista.size());
            } catch (Exception e) {
                e.printStackTrace();
                MensajesErrores.error(e.getMessage());
            }
            return lista;
        }
    };
 }

JSF 是:

                   <p:dataTable 
                    id="tablaUsuario" 
                    rowIndexVar="secuencial"
                    emptyMessage="#{msgs.lbl_no_hay_datos}"
                    value="#{pedidoBean.listadoPedidos}" 
                    var="_pedido"
                    paginator="true" 
                    paginatorPosition="top" 
                    style="width:100%"
                    selection="#{pedidoBean.pedido}" 
                    selectionMode="single"
                    rowKey="#{_pedido.rowKey}" 
                    sortBy="#{_pedido.id}"
                    sortOrder="DESCENDING" 
                    lazy="true" 
                    rows="15" 
                    paginatorTemplate="
                    {CurrentPageReport}  
                    {FirstPageLink}
                    {PreviousPageLink} 
                    {PageLinks} 
                    {NextPageLink} 
                    {LastPageLink} 
                    {RowsPerPageDropdown}"
                    rowsPerPageTemplate="15,25,50,100"
                 >

                    <p:column filterStyleClass="input-text"
                        styleClass="columnaDTCodigo tableCell"
                        headerText="#{msgs.lbl_numero}">
                        <h:outputText value="#{_pedido.id}" />
                    </p:column>

                </p:dataTable>

我真的没有看到错误,带有寄存器数量的下拉菜单效果很好。

标签: jsfprimefaces

解决方案


我的错误在这一行:listadoPedidos.setRowCount(lista.size()); 替换为 listadoPedidos.setRowCount(TOTAL_ROWS_IN_DATABASE);


推荐阅读