Hey Ricardo! Thanks very much for this and apologies for my tardy reply. I got pulled away onto other things and just now got back to testing it. It works beautifully.
On Saturday, March 16, 2013 10:16:28 PM UTC-4, Ricardo Pedroso wrote: > > On Sat, Mar 16, 2013 at 10:42 PM, Michael Ellis > <[email protected] <javascript:>> wrote: > > I've got an application that accepts JSON test reports from remote > systems > > and displays them in a SQLFORM grid with the most recent reports first. > The > > controller and view for what the user sees is essentially the following: > > > > CONTROLLER > > def test_report_manage(): > > """ Controller for Reports page """ > > ... > > form = SQLFORM.grid( ... ) > > return locals() > > > > VIEW > > ... > > {=form} > > ... > > > > The JSON controller is separate from the above. It merely validates and > > inserts new report records. The reports arrive at random intervals. My > > client has asked for the page to automatically update when new reports > > arrive. What's the cleanest way to go about this, bearing in mind that > this > > functionality is mainly intended for demonstration purposes at a trade > show? > > > > The easiest way is to poll. Something like this: > > ==== controllers ====== > > def test_report_manage(): > """ Controller for Reports page """ > ... > return dict(poll_interval=2000) # poll at 2 secs intervals > # if None, don't poll > > def test_report_manage_poll(): > form = SQLFORM.grid( ... ) > return form > > > ==== view for test_report_manage controller) ===== > > <p> > <a href="#" class="btn btn-small btn-success" > onclick="refresh_grid();return false"><i > class="icon-refresh icon-white"></i>Refresh</a> > </p> > > {{ =LOAD(f='test_report_manage_poll', ajax=False, ajax_trap=True, > target="grid_component") }} > > <script> > var refresh_grid = function() { > web2py_component("{{ =URL(f='test_report_manage_poll') > }}","grid_component"); > } > > $(document).ready(function() { > {{ if poll_interval is not None: }} > setInterval(refresh_grid, {{ =poll_interval }}); > {{ pass }} > }); > </script> > > Regards > Ricardo > -- --- 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/groups/opt_out.

