Here's how I'm doing it in an app. I'm not using grid or smartgrid but rather a datatables.net table where each row has a linked edit button. There may be other (better?) ways to do it but this works for me.
Each record includes: <td>{{=A(edit_icon, _href=URL(r=request,f='edit_item', args=[record_id]), _class="updateDialog")}}</td> And then I've got javascript to intercept the clicks on the edit icon, figure out which record's edit page it links to and instead load that edit form within a jqueryui dialog. <script type="text/javascript"> //Manage the display of the dialog for editing details. $(function() { $("#edit_dialog").dialog({ width: 600, height: 355, modal: true, //hide: 'slide', autoOpen: false }); //opens the dialog whenever one of the edit icons is clicked $(document).on('click', 'a.updateDialog', function() { //get url to load from the clicked link's href var url = $(this).attr('href'); //get the datatable row ID that we're editing var nTr = $(this).closest("tr").get(0); // key line that gets the closest TR aPos = vol_table.fnGetPosition( nTr ); // gets the position within the datatable //augment the url with the row index (aPos) because need to be able refer to it in the server response to be able to update correct row's display url = url+'/'+aPos; //load up the actual form from server & embed it within the dialog's body element (edit_form_loader) $.web2py.component(url, 'edit_form_loader');//request web2py's ajax to reload the component with the URL for this specific item's info $('#edit_dialog').dialog('open');//show the dialog return false; }); }); </script> Good Luck! ~Brian On Wednesday, June 18, 2014 9:45:08 AM UTC-5, Tomeu Roig wrote: > > I call a function that content a grid or smartgrid and need pass args and > (user_signature=True), how i can make it? > > now I use in controller response.js like: > > tab_history = """jQuery('#historial > a[href="#historico"]').click(function(){ > $.web2py.component("%s", target="historico"); > })""" % URL('albaranes', 'view_albs_cli.load', > args=[cliente_id,'historico'],user_signature=True) > response.js = tab_history > > It's works but i would like make the same in the view, it's possible? > > thanks. > > El lunes, 16 de junio de 2014 15:33:05 UTC+2, Anthony escribió: >> >> If you want to dynamically add a component in the browser, you cannot use >> the LOAD helper, which is a Python helper that is serialized on the server. >> Instead, use the $.web2py.component() Javascript function. Something like: >> >> <input type="button" value="Edit" onclick="$.web2py.component('{{=URL(' >> default', 'edit_page.load')}}', 'edit-form');"> >> >> <div id="edit-form"></div> >> >> Anthony >> >> On Friday, June 13, 2014 7:47:34 PM UTC-4, Omri Levy wrote: >>> >>> Hi , >>> >>> So I have a ticket system, and I want to allow user to edit the ticket >>> without leaving the page. >>> I don't want to LOAD the edit_page and hide it, but only load it once >>> user is clicking on the ticket body. >>> Another thing is, when user edits the ticket, he should again see >>> changes on the same page. >>> >>> Is this possible? I'm a bit confused, because LOAD works fine, but not >>> when using conditions with JS. >>> >>> 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.