[ Copy Paste Mystake ] Correct is:
you have two options: 1. define the virtual fields in model =in a model file== db.define_table('input', Field('value', 'integer')) class MyVirtualFields(object): def input_number(self): return self.input.value db.input.virtualfields.append(MyVirtualFields()) 2. In controller use the setvirtualfields method of Rows ==in a controller file== records = db(db.input.id>0).select() # or any other query records.setvirtualfields(virtual=MyVirtualFields()) > > 2011/1/3 Rick <sababa.sab...@gmail.com> > > Thanks for the advice. I changed my code, but I don't know if I'm on >> the right track. Anyhow it doesn't work. >> >> ==in a model file== >> db.define_table('input', >> Field('value', 'integer')) >> class MyVirtualFields(object): >> def input_number(self): >> return self.input.value >> >> ==in a controller file== >> def create(): >> records = db().select(db.day.ALL, orderby=db.day.thedate) >> form = SQLFORM(db.input, fields=['value']) >> db.day.virtualfields.append(MyVirtualFields()) >> return dict(form = form) >> def deleterec(): >> session.virtualfields.remove(MyVirtualFields()) >> db.input.input_number.remove(MyVirtualFields()) >> redirect(URL('create')) >> >> ==in create.html== >> {{for record in records:}} >> {{session.virtualfields=record.virtualfields}} >> {{=record.value}} : [ {{=A(("Delete this record"), >> _href=URL('deleterec'))}} >> >> >> >> >On Jan 2, 10:36 pm, Kenneth Lundström <kenneth.t.lundst...@gmail.com> >> wrote: >> > If you only want to display a number I guess virtual fields is what you >> > need. Look at >> > >> > http://www.web2py.com/book/default/chapter/06?search=virtual#Virtual-. >> .. >> > >> > Kenneth >> > >> > >> > >> > >> > >> > >> > >> > > Hi, >> > > In addition to the records that are submitted with a SQLFORM, I want >> > > to give each record a specific "identification" number, so that the >> > > first record has number=1 and so on: >> > >> > > ==from model/db.py== >> > > db.define_table('input', >> > > Field('number', 'integer'), >> > > Field('value', 'integer')) >> > >> > > ...My problem is that I don't know how to automatically add the number >> > > to this form: >> > > form = SQLFORM(db.input, fields=['value']) >> > >> > > Thanks in advance for help. >> > > > > -- > > Bruno Rocha > http://about.me/rochacbruno/bio > -- Bruno Rocha http://about.me/rochacbruno/bio