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