Tried to create a custom formstyle by copying existing one from sqlhtml.py (formstyle_table3cols) to my_formstyle in my controller and set the grid formstyle=my_formstyle but got an error : <type 'exceptions.RuntimeError'> formstyle not found I can see that there is a formstyles Storage in sqlhtml.py so itryed to add
formstyles['my_formstyle']='my_formstyle' just before the call to grid = SQLFORM.smartgrid() but got: <type 'exceptions.NameError'> global name 'formstyles' is not defined Can you please point me to simple example of how to add a custom forstyle ? Thanks in advance On Thursday, May 25, 2017 at 4:02:08 PM UTC+2, Anthony wrote: > > You could create a custom formstyle function and then pass it to the grid > via the "formargs" argument or set response.formstyle. > > Anthony > > On Thursday, May 25, 2017 at 4:50:58 AM UTC-4, icodk wrote: >> >> Background >> My model has a table with many fields (62). When using smartgrid to edit >> or add a record, all fields are shown in a long vertical list in the same >> order as defined in the model. So log so good. >> This can be overwhelming to user that might need to see some of the >> fields very often and some others less frequently. >> One way to solve this could be to show the fields in separate tabs that >> groups the fields according to some designation. Here is an example >> Model: >> >> db.define_table('person', >> Field('first_name',tab='General', label=T('First name'), >> default='',length=50), >> >> Field('last_name',tab='General', label=T('Last name'), >> default='',length=50), >> >> Field('phone',tab='Advance',label=T('phone'), default=''), >> >> Field('visits',tab='Statistics','integer' label=T('Visits'), >> default=0)) >> >> >> In the above model I added an imaginary tab property (which will cause en >> error in real application) to group fields with the same tab property >> under the same tab in a detail smartgrid form. >> To solve the order of the tabs, the call to the smartgrid will include a >> 'tab' property which will be a list with tabs. >> >> Another more flexible solution could be to add a 'tab ' property to >> smartgrid which will be a dictionary with tab names as keys and a lists of >> field names as values. This will allow also to order the fields on each >> tab and will not require any change to the existing define_table structure. >> >> Example: >> tabs={'General':['first_name','last_name'],'Advance':['phone'], >> 'Statistics':['visits']} >> >> I have this strange filling that this is already possible, may be >> something to do with formstyle. >> Any help will be appreciated >> > -- 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/d/optout.