Strange. Please open a ticket about this. On Monday, 9 December 2013 09:25:57 UTC-6, P T wrote: > > file attached > > On Monday, December 9, 2013 9:17:29 AM UTC-6, P T wrote: >> >> That works fine, but I have another problem - the order of columns is >> different in View and Edit (see attached screenshots). How can I make the >> columns present in "Edit" the same order as the View? >> >> >> >> >> >> >> >> >> >> >> On Monday, December 9, 2013 8:38:11 AM UTC-6, P T wrote: >>> >>> Thank you! >>> >>> On Monday, December 9, 2013 7:12:32 AM UTC-6, Massimo Di Pierro wrote: >>>> >>>> assuming the fields exist: >>>> >>>> fields=[db.monthly_projections.employee, db.monthly_projections.id, db. >>>> monthly_projections.costcode] >>>> for row in db(db.months).select(): >>>> fields.append(db.monthly_projections[row.effort_month.strftime( >>>> '%b_%Y')]) >>>> >>>> or >>>> >>>> fields=[db.monthly_projections.employee, db.monthly_projections.id, db. >>>> monthly_projections.costcode] + \ >>>> [db.monthly_projections[row.effort_month.strftime('%b_%Y')] for row >>>> in db(db.months).select()] >>>> >>>> >>>> On Sunday, 8 December 2013 23:40:10 UTC-6, P T wrote: >>>>> >>>>> I am dynamically creating the fields in a table from entries in >>>>> another table. I am using SQLFORM.grid to view/edit the table. >>>>> >>>>> For the grid, the following field list works fine: >>>>> fields=[db.monthly_projections.employee, db.monthly_projections.id,db >>>>> .monthly_projections.costcode, >>>>> db.monthly_projections.Dec_2013, db.monthly_projections. >>>>> Jan_2014, db.monthly_projections.Feb_2014] >>>>> >>>>> But, the problem is I don't know the complete field list ahead of >>>>> time. So, I am using this instead: >>>>> fields=[db.monthly_projections.employee, db.monthly_projections.id,db >>>>> .monthly_projections.costcode] >>>>> for row in db(db.months).select(): >>>>> fields.append('db.monthly_projections.'+ row.effort_month.strftime( >>>>> '%b_%Y')) >>>>> >>>>> This is giving an error >>>>> <type 'exceptions.AttributeError'> 'str' object has no attribute >>>>> 'tablename' >>>>> >>>>> On debugging, I see that the fields is created as three >>>>> gluon.dal.Fields and three strings >>>>> >>>>> fields >>>>> [<gluon.dal.Field object at 0x0000000005414470>, >>>>> <gluon.dal.Field object at 0x00000000046D7A58>, >>>>> <gluon.dal.Field object at 0x0000000009F15D30>, >>>>> 'db.monthly_projections.Dec_2013', >>>>> 'db.monthly_projections.Jan_2014', >>>>> 'db.monthly_projections.Feb_2014'] >>>>> >>>>> So, I changed the definition of fields to: >>>>> fields=[db.monthly_projections.employee, db.monthly_projections.id,db >>>>> .monthly_projections.costcode] >>>>> for row in db(db.months).select(): >>>>> fields.append(Field('db.monthly_projections.'+ row.effort_month. >>>>> strftime('%b_%Y'))) >>>>> >>>>> and this gives an error: >>>>> <type 'exceptions.SyntaxError'> invalid table or field name: >>>>> db.monthly_projections.Dec_2013 >>>>> So, in short, how do I build the field list from string for >>>>> SQLFORM.grid? >>>>> >>>>> Thanks for your help! >>>>> PT >>>>> >>>>
-- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.