Unfortunately, this is not well supported yet. 
See 
http://stackoverflow.com/questions/9232336/calculated-fields-in-web2py-sqlgrid/9235992#9235992
 
for a workaround.

Anthony

On Tuesday, February 14, 2012 5:26:29 PM UTC-5, Detectedstealth wrote:
>
> Hi,
>
> I have a column I want to show in a SQLFORM.grid that is not a field in 
> the database table. The column will add together multiple columns to give a 
> total. However I am not sure how to accomplish this.
>
> table:
> db.define_table('bonus_daysummary',
>     Field('create_time', 'datetime', default=request.now),
>     Field('report_date', 'datetime'),
>     Field('distributor_id', 'references distributors'),
>     Field('sponsorbonus', 'decimal(12,2)'),
>     Field('leadbonus', 'decimal(12,2)'),
>     Field('binarybonus', 'decimal(12,2)'),
>     Field('matchingbonus', 'decimal(12,2)'),
>     Field('growingbonus', 'decimal(12,2)'),
>     Field('adviewpayback', 'decimal(12,2)'),
>     Field('adpackcomm', 'decimal(12,2)'),
>     Field('kvalue_deduction', 'decimal(12,2)'),
>     Field('group_management_fee', 'decimal(12,2)'),
>     migrate=False
> )
>
> controller action:
>     class VirtualTotalField(object):
>         def total_price(self):
>             return "$" + str(
>                 self.bonus_daysummary.sponsorbonus + 
> self.bonus_daysummary.leadbonus + \
>                 self.bonus_daysummary.matchingbonus + 
> self.bonus_daysummary.growingbonus + \
>                 self.bonus_daysummary.adviewpayback + 
> self.bonus_daysummary.adpackcomm + \
>                 self.bonus_daysummary.kvalue_deduction + 
> self.bonus_daysummary.group_management_fee
>             )
>     
>     db.bonus_daysummary.virtualfields.append(VirtualTotalField())
>
>     dailyBonusReport= SQLFORM.grid(
>             (db.bonus_daysummary.distributor_id == distributor.id), 
> orderby=[~db.bonus_daysummary.report_date, 
> db.bonus_daysummary.distributor_id],  paginate=10, deletable=False, 
> editable=False, details=False, csv=True, formname='dailyBonus',
>     )
>
> Now after appending the virtual field how to set its label and have it 
> actually displayed in the grid?
>
> -- 
> -- 
> Regards,
> Bruce Wade
> http://ca.linkedin.com/in/brucelwade
> http://www.wadecybertech.com
> http://www.warplydesigned.com
> http://www.fitnessfriendsfinder.com
>  

Reply via email to