On Saturday, August 15, 2015 at 9:30:09 PM UTC-4, 黄祥 wrote:
>
> i think you can do the query and put it on the grid signature
> e.g.
> @auth.requires_login()
> def test():
>     query = db(db.test.id == 3).select()
>     editable = False if query
>     deletable = False if query
>     grid = SQLFORM.grid(db.test, editable = editable, deletable = 
> deletable)
>     return locals()
>

That won't help, as it will prevent all records from being edited as long 
as there is any record in the table with an id of 3 (whether or not that 
record is even included in the current page of the table).

Instead, the "editable" argument can be a function that takes a Row object 
and decides whether that particular row should be editable:

    grid = SQLFORM.grid(..., editable=lambda row: row.id != 3)

The above will allow all rows to be edited except the one with id==3. Of 
course, the function can be made more complex to satisfy any conditions.

Anthony

 

>
> best regards,
> stifan
>

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

Reply via email to