Hello Seraaj
1) You can still use SQLFORM if you want, just preset the widget and use
the fields parameter of SQLFORM to filter:
def someaction():
db.table.fieldX.widget = SQLFORM.widgets.autocomplete(request, ...)
form = SQLFORM(db.table, fields=['fieldX',], ...)
if form.validate():
# do something with the form's data
or you can use SQLFORM.factory:
form = SQLFORM.factory( db.table.fieldX.clone(...) )
2) Set the default for the is_default field to False
and check if there is a record in the db with is_default==True and a
different id that the current insert/update in the accepted portion of your
form processing, and set it to False.
Denes.
On Sunday, January 17, 2016 at 6:33:56 PM UTC-5, Seraaj Muneer wrote:
>
> Hello everyone from Accra Ghana.
>
> I've a small issue I'm not sure how to go about.
>
> I've a number of companies in the database. What I want to do is create a
> form with just a select field containing the companies in the database, and
> naturally a submit button to post the form to a controller. How do I use
> the Autocomplete widget outside of SQLForm? Is it even possible? If not,
> how do I represent the list of companies in HTML in a way that the user
> will not have to scroll endlessly to select a company as would be the case
> with a traditional HTML select?
>
> Also every company entity in the database has a boolean field,
> 'is_default', now how do I make sure only one company has 'is_default' set
> to True? So all others have it as False? Also if upon inserting or updating
> a company, the new or updated record has 'is_default' set to True, then I
> want to set that of all other companies as False.
>
>
>
>
> Thanks
>
>
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.