orderby = db.cdsdata[request.vars.sidx]
... db( db.casedb.id > 0 ).select(.... orderby = orderby ):
looks to me you are selecting db.casedb but pretend to order by
db.cddata.
On Jul 30, 3:16 am, Phyo Arkar <[email protected]> wrote:
> 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