Anthony, Thank you for (very) quick reaction! And Happy New Year! ;)
Here is an example: I define a grid in the following action: def grid_test(): grid = SQLFORM.grid(db.project, formname='grid_test',selectable=[('Test', lambda ids: 1/0)]) response.view = 'project/grid.load' return dict(grid=grid) ...of course the expected behavior is that the 'Test' action will cause an error (division by zero). Indeed, this happens if I simply put such defined grid as part of regular controller action. However, when I put it in a component: {{=LOAD('project','grid_test.load', ajax=True)}} where the grid_test.load looks like this: {{=grid}} Pressing the 'Test' button does not cause the error - presumably because the selectable action is not executed at all... I hope this is clear enough. In my code, I actually tried to do a redirect, but the result is exactly the same - the selectable action does not appear to execute... I just tested this on: 2.13.4-stable+timestamp.2015.12.26.04.59.39 (Running on nginx/1.4.6, Python 2.7.6) Krzysztof. On Thursday, December 31, 2015 at 8:41:46 PM UTC+1, Anthony wrote: > > A basic example works for me. Can you show some code that you know > exhibits the problem? > > Anthony > > On Thursday, December 31, 2015 at 12:53:53 PM UTC-5, Krzysztof Socha wrote: >> >> I noticed a similar thing... I need two grids on a page. As documented, >> it does not work very well to simply put them in one controller function. >> Hence, I tried with LOADing a component. This generally works, but I cannot >> get the selectable actions to work. I have defined custom selectable >> actions and they work fine if the gird is not inside a component. As soon, >> as I load it as a component, nothing happens. It seems that the form is >> submitted, but the selectable action is not executed. A bug somewhere? Or >> is there another way of doing this? >> >> Krzysztof. >> >> On Wednesday, October 15, 2014 at 7:46:56 PM UTC+2, LaDarrius Stewart >> wrote: >>> >>> I have a grid inside a component inside a component which has selectable >>> set to run a function that assigns the ids to a session variable. When >>> inside the component it does not work when i click submit I can tell that >>> the page is being reloaded but the callback does not run. I know that the >>> code works because if I go to the .load page directly and try it works as >>> expected. But from the component page it doesnt execute the callback. >>> >>> >>> >>> selectable = [('Create Invoice', lambda ids: [selectabletest(ids)], 'btn >>> btn-info btn-md')] >>> grid2 = SQLFORM.grid(query, selectable=selectable, >>> args=request.args[:1], formname='invgrid', user_signature=False) >>> >>> def selectabletest(ids): >>> session.lambdatest = ids >>> >>> This message is for named person(s) only. It may contain confidential >>> and/or legally privileged information. No confidentiality or privilege is >>> waived or lost should mis-transmission occur. If you receive this message >>> in error, delete it (and all copies) and notify the sender. You must not, >>> directly or indirectly,use, disclose, distribute, print, or copy any part >>> of this message if you are not the intended recipient. GAD GROUP >>> TECHNOLOGY, INC. reserves the right to monitor all e-mail communications >>> through its networks. >>> >>> Any views expressed in this message are those of the individual sender, >>> except where the message states otherwise and the sender is authorized to >>> state them to be the views of any such entity. >>> >>> This e-mail has been virus and content scanned by GAD GROUP TECHNOLOGY, >>> INC. >>> >> -- 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.