Hi, 

I guess, SQLFORM.grid  is in sqlhtml.py, so this is not pydal stuff?
https://github.com/web2py/pydal/search?utf8=%E2%9C%93&q=grid

so I submitted to web2py repo
https://github.com/web2py/web2py/issues/1553

On Friday, December 30, 2016 at 5:02:00 PM UTC+2, Anthony wrote:
>
> On Friday, December 30, 2016 at 1:36:44 AM UTC-5, Jurgis Pralgauskis wrote:
>>
>> Hi, 
>>
>> grid allows virtual fields, 
>>
>> but they are calculated in Python layer, though sometimes this could be 
>> done in DB layer.
>>
>> Could I pass Expression of fields in similar way?
>>
>>
>> like I have in my previous question 
>> <https://groups.google.com/forum/#!msg/web2py/f3HdtWviTys/kMHhXIPKDwAJ>
>> db.item.total_price =  Field.Virtual('total_price', lambda row: 
>> row.item.unit_price * row.item.quantity)
>>
>> Would be nice to have
>> db.item.total_price =  Field.Expression('total_price', db.item.unit_price 
>> * db.item.quantity)
>>
>> this could also be applied to aggregates (as I suspect they are not 
>> supported in grid)
>>
>
> Feel free to submit a feature request on Github (in the PyDal repo). I 
> suppose something like this could facilitate displaying aggregates in the 
> grid as well as getting nice names for expressions in queries.
>
> For now, one option is to create a view in your database and define a 
> web2py DAL model that reflects the view. You can then pass that model to 
> the grid and it will display whatever is in the database view. A similar 
> but less efficient option is to do the query you want and load its results 
> into a sqlite:memory database and use that with the grid.
>
> Anthony 
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to