Hi Vineet,

Thanks for sharing. So, if I understand correctly, you use DABO code as an
equivalent of the php code in the example from the DTs to allow grid to
interact with database...

I will have a look at PowerTable this week to see if it actually implement
server processing and if not to try to figure out how we could add the
feature...

:)

Richard

On Sat, Feb 11, 2012 at 1:08 AM, Vineet <vineet.deod...@gmail.com> wrote:

> Richard,
> Here is my minimal code for returning json data in dataTables via
> web2py's ajax function.
>
> ---View---
> <!-- here's a well-formed table -->
> <table id="abc_table">
> <thead>
>  <tr>
>    <th>ABC Category Name</th>
>    <th>Code</th>
>  </tr>
> </thead>
> <tbody>
> </tbody>
> </table>
>
> <script>
> // this I keep in js folder
>
> function dtbl_show(hash_div, sAjaxSource, aoColumns) {
>
>        $(document).ready(function() {
>
>    $(hash_div).dataTable( {
>
>        "bJQueryUI": true,
>
>        "bDeferRender": true,
>
>        "bPaginate": true,
>
>        'sPaginationType': 'full_numbers',
>
>        "bProcessing": true,
>
>        "bServerSide": true,
>
>        "aaSorting": [[ 1, "desc" ]],
>
>        "bAutoWidth": false,
>
>        "aoColumns" : aoColumns,
>
>        "sAjaxSource": sAjaxSource
>
>    } );
>
>  } );
>
>                jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages =
> 10;
>
>
>              }
> </script>
>
> <script>
> // call here this script & pass the table's div for rendering it
>
> dtbl_show("#abc_table", "{{=URL('abc','get_abcdata')}}", [{ sWidth:
> '350px' }, { sWidth: '200px' }] )
> </script>
>
> --- End View ---
>
> --- Controller for populating data via ajax ---
> (excuse the bugged-up indentation here)
>
> def get_abcdata():
>  if request_vars_iDisplayStart != None:
>
>        iDisplayStart = request_vars_iDisplayStart
>
>  else:
>
>        iDisplayStart = 0
>
>
>
>  if request_vars_iDisplayLength != None:
>
>        iDisplayLength = request_vars_iDisplayLength
>
>  else:
>
>        iDisplayLength = 10
>
>
>
>  if request_vars_sEcho != None:
>
>       sEcho = int(request_vars_sEcho)
>
>  else:
>
>       sEcho = 1
>
>
>  qry = 'your sql query string'
>
>
> ### Below this, I am using a 3rd party library viz. DABO for
> interacting with DB.
> ### You may substitute that syntax with the DB layer of your choice
> (DAL or whatever else) and get dataset.
>
>    try:
>
>        conn_name = connInstance.makeConn()
>
>        cur = conn_name.cursor()
>
>        qry = qry1 + ' limit ' + str(iDisplayStart) + ', ' +
> str(iDisplayLength) + ';'
>
> # fetch total data
>
>        cur.execute(qry1)
>
>        data_full = cur.getDataSet()
>
>        iTotalRecords = len(data_full)
>
> # fetch data as requested from client
>
>        cur.execute(qry)
>
>        data_disp = cur.getDataSet()
>
>        iTotalDisplayRecords = len(data_full)
>
>    finally:
>
>        conn_name.close()
>
>
>    aaData = []
> # Now populate the aaData with data in form of lists.
> # e.g. aaDada will look like -- [[1, 'Vineet'],[2,'Richard']]
> # This formatting is important
>
>   D=dict(sEcho=sEcho, iTotalRecords=iTotalRecords,
> iTotalDisplayRecords=iTotalDisplayRecords,
> iDisplayLength=iDisplayLength, aaData=aaData)
>   return response.json(D)
>
> -- End of Controller code --
>
> That's wraps it up.
> If you need any further drilling down in my code, pl. ask.
> I will be happy to share.
>
> HTH,
> --- Vineet
>
> On Feb 8, 10:18 pm, Richard Vézina <ml.richard.vez...@gmail.com>
> wrote:
> > Yes!
> >
> > I think the PowerTable of Burno don't implement server side processing
> > yet... We maybe can start form there to make a server side implementation
> > of PowerTable... What do you think?
> >
> > I think, we have to split table header from data then wrote a python
> > implementation fo the php script as shown in the example of DTs...
> >
> > For sure see a bit of your code could help me figure out the path I
> should
> > follow and help my reflexion.
> >
> > About "fnInitComplete" it is just needed in case you want to initialise
> DTs
> > with fixed columns...
> >
> > Richard
> >
> > On Wed, Feb 8, 2012 at 11:52 AM, Vineet <vineet.deod...@gmail.com>
> wrote:
> > > Hi Richard !
> > > Pl. excuse my late replying.
> > > Glad to hear that you got it working.
> >
> > > If you are interested, I can share my code.
> > > I am not using "fnInitComplete".
> > > Mine is very simple & minimal code.
> >
> > > --- Vineet
> >
> > > On Feb 7, 10:19 pm, Richard Vézina <ml.richard.vez...@gmail.com>
> > > wrote:
> > > > Finally got it to work...
> >
> > > > There was a problem with the init of DTs particularly this option :
> >
> > > >
> http://datatables.net/release-datatables/extras/FixedColumns/server-s...
> >
> > > > *fnInitComplete*
> > > > *
> > > > *
> > > > *
> > > > *
> > > > It's not solving my speed problem as I expect it could do... So I
> will
> > > put
> > > > it on hold, but I plan to implement a basic server interaction
> script as
> > > > the php DTs example to make it easier deploy DTs with server side
> > > > capability...
> >
> > > > Richard
> >
> > > > On Mon, Feb 6, 2012 at 6:10 PM, Bruno Rocha <rochacbr...@gmail.com>
> > > wrote:
> > > > > Not,
> >
> > > > > PowerGrid is based in pure Jquery Templates
> >
> > > > > --
> >
> > > > > Bruno Rocha
> > > > > [http://rochacbruno.com.br]
> >
> >
>

Reply via email to