Here is my function:
in controller:
def rows():
fields = ['id', 'filePath', 'fileName', 'cus', 'sentto',
'emailFrom', 'subject','cc','bcc','extracted','headers']
rows = []
page = int( request.vars.page )
max=request.vars.totalrows
if max:
pagesize = int(max)
else:
pagesize = int( request.vars.rows )
limitby = ( page * pagesize - pagesize, page * pagesize )
orderby = db.cdsdata[request.vars.sidx]
print orderby
if request.vars.sord == 'desc':
orderby = ~orderby
if max:
for r in db( db.casedb.id > 0 ).select( limitby = limitby,
orderby = orderby ):
vals = []
for f in fields:
vals.append( r[f] )
rows.append( dict( id = r.id, cell = vals ) )
else:
for r in db( db.casedb.id > 0 ).select(orderby = orderby):
vals = []
for f in fields:
vals.append( r[f] )
rows.append( dict( id = r.id, cell = vals ) )
total = db( db.casedb.id > 0 ).count()
pages = int( total / pagesize )
#if total % pagesize == 0: pages -= 1
data = dict( total = pages, page = page, rows = rows )
return data
in view:
I call from jqGrid using:
url:"{{=URL(r=request,f='rows.json')}}",
here , i have an error in orderby caluse :
OperationalError: (1054, "Unknown column 'cdsdata.id' in 'order clause'")
I had use similar jqgrid , before in 1.7x version , it worked well.I
reuse the same code here.
also i make sure inside mysql , i thave id column for sure!
i have this after updating to 1.81.4