{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