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

Reply via email to