Class to manager MYSQL for Harbour/xHarbour
Custom Search

viernes, 30 de julio de 2010

Paginacion / Pagination

Dolphin maneja la paginacion automaticamente, explicare las datas y  metodo que usa
Dolphin manage automatically pagination, i will explain what datas and method used

DATAS

nCurrentPage     Pagina activa / Current page
nTotalRows        Total filas en la consulta / Total row without limits
nPageStep           Total filas por pagina / total rows for page
nMaxPages         Cantidad maxima de paginas en la consulta / Max pages avalaible in query
nCurrentLimit      Limite activop / Current limit value
bOnChangePage Code Block que se evealua cada vez que se cambia una pagina / codeblock to evaluate when change page


METHOD
SetPages( nLimit ) Activa la paginacion y configura la cantidad de lineas por paginas nLimit, Activate pagination and Set total rows by page nLimit
NextPage( nSkip ) Va a la siguiente pagina disponible o avanza nSkip paginas / Go to next page avalaible or skip nSkip pages
PrevPage( nSkip ) Va a la  pagina anterior disponible o retrocede nSkip paginas / Go to previous page avalaible or back nSkip pages
FirstPage() Va a la primera pagina / Go to first page
LastPage() Va a la ultima pagina / Go to last page
GotoPage( nPage )   Va a la pagina espcifica por nPage / Go to specific nPage Page


El ejemplo esta construido con la version 10.7 de fivewin / This samples was built with fivewin version 10.7 
Ejemplo / Sample

Download Here

//Build
   oQry = oServer:Query( "SELECT * FROM clientes ORDER BY last limit 100" 

   oQry:SetPages( 100 )
   oQry:bOnChangePage = { || oBrw:Refresh(), ChangeTitle( oQry, oDlg ) }




//Button Actions


   @ 10, 10 RBBTN aBtns[ 1 ] PROMPT "&First" OF oDlg SIZE 20, 15 ;
            GROUPBUTTON FIRST  CENTER ;
            ROUND ROUNDSIZE 2;
            ACTION( oQry:FirstPage() ) ;
            WHEN( oQry:nCurrentPage > 1 )                  

   @ 10, 30 RBBTN  aBtns[ 2 ] PROMPT "&Prev" OF oDlg SIZE 20, 15 ;
            GROUPBUTTON  CENTER ;
            ROUND ROUNDSIZE 2;
            ACTION( oQry:PrevPage() ) ;
            WHEN( oQry:nCurrentPage > 1 )

   @ 10, 50 RBBTN aBtns[ 3 ] PROMPT "&Goto" OF oDlg SIZE 20, 15 ;
             GROUPBUTTON  CENTER ;
             ROUND ROUNDSIZE 2;
             ACTION( nPage := oQry:nCurrentPage,;
                     MsgGet( "Select Page:", "Page", @nPage ),;
                     oQry:GoToPage( nPage ) )


   @ 10, 70 RBBTN aBtns[ 4 ] PROMPT "&Next" OF oDlg SIZE 20, 15 ;
             GROUPBUTTON  CENTER ;
             ROUND ROUNDSIZE 2;
             ACTION( oQry:NextPage() ) ;
             WHEN( oQry:nCurrentPage < oQry:nMaxPages )

   @ 10, 90 RBBTN aBtns[ 5 ] PROMPT "&Last" OF oDlg SIZE 20, 15 ;
             GROUPBUTTON END  CENTER ;
             ROUND ROUNDSIZE 2;          
             ACTION( oQry:LastPage() ) ;
             WHEN( oQry:nCurrentPage < oQry:nMaxPages )



No hay comentarios:

Publicar un comentario en la entrada