Thanks Richard and Anthony,

I will use the links trick, works for how I need it.

    db.bonus_daysummary.create_time.readable
= db.bonus_daysummary.distributor_id.readable = False

   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
            )

   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,
            links=[dict(header=T('Total'), body=lambda row:
row.total_price)],
            formname='dailyBonus',
    )



On Tue, Feb 14, 2012 at 2:39 PM, Anthony <[email protected]> wrote:

> Unfortunately, this is not well supported yet. See
> http://stackoverflow.com/questions/9232336/calculated-fields-in-web2py-sqlgrid/9235992#9235992for
>  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://ca.linkedin.com/in/brucelwade>
>> http://www.wadecybertech.com
>> http://www.warplydesigned.com
>> http://www.**fitnessfriendsfinder.com<http://www.fitnessfriendsfinder.com>
>>
>


-- 
-- 
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