Not sure if this help, but you may want to take a look at this
Pagination class:
http://packages.python.org/web2py_utils/paginate.html

On Aug 24, 6:37 pm, dlin <dlin...@gmail.com> wrote:
> ref:http://web2py.com/book/default/chapter/12#Pagination
>
> In following code, there is two problem:
> 1. The 'next' button always show.  And the len(rows) always = 2
> 2. I don't know how to proper show the {{=rows}} without last row, I
> want to use the odd row background-color trick.
>
> I wrote simliar code in default.py
> -----------------------------------------
> def listall():
>     if len(request.args): page=int(request.args[0])
>     else: page=0
>     items_per_page=2
>     limitby=(page*items_per_page,(page+1)*items_per_page + 1)
>     words= db().select(db.mytable.ALL, limitby=limitby)
>     cols = [ 'mytable.' + c for c in db.mytable.fields()[1:]]
>     hdrs = dict([(str(c),c.label) for c in db.mytable])
>     rows =SQLTABLE(words,
>          headers = hdrs,
>          columns=cols,
>          truncate=32)
>     rows['_id'] = 'rows'
>     return dict(rows=rows, page=page, items_per_page=items_per_page)
>
> And the view listall.html:
> -------------------------------
> {{extend 'layout.html'}}
> {{=rows}}
> page:{{=page}} <br />
> len(rows):{{=len(rows)}} <br />
>
> {{if page:}}
> <a href="{{=URL(r=request, args=[page-1])}}">previous</a>
> {{pass}}
>
> {{if len(rows)>=items_per_page:}}
> <a href="{{=URL(r=request, args=[page+1])}}">next</a>
> {{pass}}
>
> <script>jQuery("#rows tr:odd").css("background-color", "#bbbbff");</
> script>

Reply via email to