jmoordbjsf
  • Introduction
  • instalacion
  • Configurar jmoordb
    • Proyecto EJB
      • Entity
      • Repository
    • Proyecto Web
      • Controller
  • autocomplete
    • autocompleteWithCalendarDateTime
  • calendar
  • column
  • columnview
  • commandbuttonedit
    • commandbuttonedit
    • commandbuttonreturn
    • commandbuttonsave
  • template
    • csstemplate
    • jstemplate
    • metatemplate
  • date
  • toolbar
    • toolbarnew
    • toolbarnewsavereturn
    • toolbarview
    • toolbarnewdate
    • toolbarnewlowercase
    • toolbarsave
  • denegado
  • email
  • inputText
    • inputTextMeses
    • inputTextPago
    • inputTextPagoAutomatico
    • inputTextPagoAutomaticoSinSpan
    • inputTextPagoDialog
    • inputTextPagoPagare
  • label
    • labelDate
    • labelNumber
    • labelPago
    • labelPagoSinSpan
  • login
  • mesSelectOneMenu
  • messages
  • noyes
  • paginator
  • password
  • print
  • search
    • searchBetweenDate
    • searchDate
    • searchYesNo
  • selectOneMenu
  • sexo
  • view
  • yesno
  • schedule
    • cssschedule
    • jsschedule
  • Formularios
    • new.xhtml
      • Por llave primaria
      • Por otro atributo
      • Sin campo de validacion
    • view.xhtml
      • Rol view.xhtml
    • list.xthml
      • Rol list.xhtml
  • Controller
    • RolController.java con todos metodos implementados
    • save()
    • FacultadController.java
    • Metodos
    • isNew()
    • @Aspect
    • delete
    • init()
    • move()
  • Development
    • Clases como parametros y metodos en el composite
    • Crear composite distribuible con Maven
    • Agregar css
Powered by GitBook
On this page
  • Atributos
  • Componente
  • Controller
  • sizeOfPage
  • move(Integer page)
  • Ejemplo:

Was this helpful?

paginator

PreviousnoyesNextpassword

Last updated 6 years ago

Was this helpful?

  • Controla la paginacion para un datatable

  • Incorpora interamente el control para first, next, back,last

  • Invoca al formulario new.xhtml internamente

  • Invoca internamente al metodo printAll()

  • Se debe desabilitar la paginaciòn en el componente datatable

  • Se debe indicar la cantidad de filas por pagina

  • Llevar el control de la pagina actual

Atributos

Nombre

Tipo

Descripciòn

controller

java.lang.Object

entity

java.lang.Object

page

pagina actual

rowPage

filas por paginas

renderedNew

default="true"

renderiza el boton New

renderedClear

default="true"

renderiza el boton Clear

renderedPrint

default="true"

renderiza el boton imprimir todos

Componente

<jmoordbjsf:paginator
   controller="#{rolController}"
   entity="#{rolController.rol}"
   rowPage="#{rolController.rowPage}"
   page="#{rolController.page}"
   pages="#{rolController.pages}"
   skip="ajax:rolController.skip(rolController.page)"

Controller

  • Definir los atributos

    Integer page = 1;
  Integer rowPage = 25;
  • Cuando se crea el método set/get de page debe devolver el numero de documentos en la coleccion

public List<Integer> getPages() {

        return rolRepository.listOfPage(rowPage);
}
  • Los movimientos entre las paginas las controlamos mediante los métodos siguientes.

// <editor-fold defaultstate="collapsed" desc="skip(Integer page)">

    @Override
    public String skip(Integer page) {
        try {
            this.page = page;
            move();
        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(),nameOfMethod(), e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

sizeOfPage

@Override
    public Integer sizeOfPage() {
     return rolRepository.sizeOfPage(rowPage);
    }/

move(Integer page)

  • Se usa para contolar los desplazamientos se invoca directamente desde la interface IController

 @Override
    public void move(Integer page) {
        try {
            this.page =page;
            System.out.println("llamo al move");
              JsfUtil.warningDialog("rolController.move", "page: "+page.toString());
            Document doc;
            switch (loginController.get("searchrol")) {
                case "_init":
                case "_autocomplete":
                    rolList = rolRepository.findPagination(page, rowPage);

                    break;

                case "idrol":
                    if (lookupServices.getIdrol() != null) {
                        doc = new Document("idrol", lookupServices.getIdrol());
                        rolList = rolRepository.findPagination(doc, page, rowPage, new Document("idrol", -1));
                    } else {
                        rolList = rolRepository.findPagination(page, rowPage);
                    }

                    break;

                default:

                    rolList = rolRepository.findPagination(page, rowPage);
                    break;
            }

            rolFiltered = rolList;

            rolDataModel = new RolDataModel(rolList);

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(), nameOfMethod(), e.getLocalizedMessage());
        }
    }

Ejemplo:

   <jmoordbjsf:paginator
                    controller="#{rolController}"     
                    entity="#{rolController.rol}"     
                    rowPage="#{rolController.rowPage}"                   
                    page="#{rolController.page}"
                    pages="#{rolController.pages}"
                    skip="ajax:rolController.skip(rolController.page)" 

                    />
                <b:dataTable value="#{rolController.rolDataModel}"
                             var="item"
                             id="dataTable2"
                             paginated="false"
                             onpage="console.log('page');">

                    <b:dataTableColumn value="#{item.idrol}" label="#{msg['field.idrol']}"/>
                    <b:dataTableColumn value="#{item.rol}" label="#{msg['field.rol']}" />
                    <b:dataTableColumn value="#{item.activo}" label="#{msg['field.activo']}" />

                    <b:dataTableColumn label="">

                        <jmoordbjsf:column

                            edit="#{rolController.prepare('view',item)}"
                            delete="#{rolController.delete(item,false)}"
                            rendered="#{applicationMenu.rol.delete}"
                            />
                    </b:dataTableColumn>

                </b:dataTable>