Hi Richard / everyone Those are good strategies. However, I also feel that it is a pity that we are having to 'roll our own' solutions because the sqlform.grid just seems too slow.
Your idea of avoiding pyDAL seems to greatly reduce queries, and so I am also tempted down this road. However, again, this undermines the whole point of the framework. We need a more performant grid as part of the framework and my observations are these: 1. We need two options for loading data: all at once, and server-side via ajax. 2. We need to fill the grid with complex queries, including proper 'left join on' syntax, and in-line selects. We can then suppress all those magical data 'represents' queries which are all done with additional row-by-row sub-selects. On one page of my sqlform.grid views it generated almost a hundred queries. I was able to replace that with a single complex query. 3. Ideally, we should avoid reloading the whole page when we want to edit the data. For example, using modal forms. Maybe I'm asking far too much. However, almost every app I write uses a data grid and associated create/edit forms. In simple situations I am very grateful for the sqlform.grid. In many other cases though, I find myself writing similar code over and over to produce a more performant listing. With my ideal framework, I cannot help but feel that I should have a better starting point. I know that I should try and bring solutions to this group rather than frustrations. My suggestion is therefore: let's leverage something like Datatables! If you got this far, thanks for listening! Best regards. -- 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.