You are on page 1of 9
{Dtndayshabi pagina screed) NR pan pasar de ptainn Enel grid delwork withya se incluia un paginado automatico para elgrid. Que significa esto? Que se ‘cargan N lineas por pagina. Para moverse de pagina y por ejemplo pasar alas siguientes N liness de informacién, se utilizanlas opciones que se ven en laslide Eltamafio de la pagina es configurable. Por defecto es de 10 fla. En la magen estamos viendo que la hemos modificado @ 3, dela manera indicada a continuaci6n. Imaginemos que por algln motivo queremos obtener el listado de atracciones, pero en lugar de mostrar todas las atracciones, queremosfitrar paginando. {2Qué significa “paginado"? Que se divide tode la informacién en bloques (lamados paginas) que ‘contienen una cantidad fija de informacion (en nuestro ejemplo, 3 atracciones turisticas). Un ejemplo que Ya vimos viene en el trabajar con, donde elgrid se pagina para que vaya mostrando 10 registros por pagina Enel ejemplo, cada pagina se compone de tres atracciones. Dindeyahabiepaginedar ‘Aqui modificamos el valor por defecto dela propiedad “Rows per page" del nodo Selection, que era al valor se configura en un lugar centralizado de la KB, que en la trial no esta habilitado, sonsdoencomandoForeach ‘traction st Si queremos implementar un paginado para el comandofor each tenemos un par de cldusulas para cconseguitlo, Imaginemos que por alain motivo queremos obtener el istado de atracciones, pero en lugar de mostrar todas las atracciones, queremosfiltrarpaginando dea tres registros por vez. Enel ejemplo, las paginas constan de tres registros (tres atracciones),y queremos lista el contenido de la ‘segunda pagina unicamente, de acuerdo al orden de las atracciones por id {Como implementamos esto? CiteuiesdepagnedoencomandaFor each oe Lanes ee En ellayout agregamos el printblockfooter con una variable &Messagede tipo Character(20). For each Attraction skip Spagesize*(Gpageisnber-1) count Spagesize print Attractions ‘Observemos las cldusulas skip y countdel comando For Each. Con esto estamos indicando que queremos saltearnos los primeros N registros que recuperatia elfor each sino estuviera la cléusula,siendo N el resultado de evaluar la expresién &pageSize"(&pageNumber-). Observamos que este célculo nos permite saltear todos los registros de las paginas anteriores. Y luego con la cldusula count estamos diciendo que ‘queremos quedarnos con os siguientes M registros,siendo M el valor de &pageSize, que representa la ccantidad de registros de cada pagina, ‘Aqui como no indicamos explicitamenteclausulaorder, se ordena por Attractionla, ‘Cltonies de painadoncomandoFor each rinadoon lO server ‘Como vemos, esta consulta se realiza en la base de datos de manera optimizade. Es el DBMS el que seleccionara ios registrosa devolver. sonsdoencomandoForeach ral aia oni) ‘Aqui presentamos lasclsusulas Skip y Countque permiten pagina elfor each, con as demés cldusulas ‘aue hemos visto hasta el momento ‘Como dijimos, con SKIP indicamos que queremos saltear los primeros X registros(siendo X el resultado de evaluar la expresion que sigue a SKIP) y quedarnos con los siguientes Y, siendo Yel valor dela ‘expresién indicade luego del COUNT. GenexXus~ eres

You might also like