DataTables with Table tools pluigin errors out with 12000 records

DataTables with Table tools pluigin errors out with 12000 records

chetanachetana Posts: 4Questions: 0Answers: 0
edited July 2012 in Bug reports
using dataTables to process table data populated through web service calls that has over 12000 rows
I get the following error.
Uncaught RangeError: Maximum call stack size exceeded...

Surprisingly it works with table tools when I select only the first 3 colums. the table has 14 columns that I need to output to an excel file and it has worked with 3 columns. Unfortunately the site is secured and I cannot post the url. Has anyone dealt with similar issues. I cannot use server side processing at this point as I need to use only Javascript/AJAX based code.

Replies

  • allanallan Posts: 63,381Questions: 1Answers: 10,449 Site admin
    edited July 2012
    So this error occurs when you try to do an export using TableTools - is that correct? Or is it at some point point (if so, we'll need more details).

    If it is with TableTools, then I'd be surprised if there is much we can do I'm afraid. The execution of the Flash is really slow because for the Excel export it does a UTF-16LE translation. Does CSV work okay? The Flash export is far from an ideal solution, and it is known to have problems with large data sets.

    Allan
  • chetanachetana Posts: 4Questions: 0Answers: 0
    Thanks for the response! Yes, it is TableTools that has the issue. I switched to csv option for this data set. The issue now is that it downloads the entire data but fires off a couple of alerts prior to the download.

    Here is the message :

    The Following plug-in is unresponsive : Unknown
    Would you like to stop it?

    If this download is done repeatedly the Shokwave plug-in crashes.

    Is there a way that the above message can be suppressed with a custom message indicating that the down load is in progress?

    Also, with the data sent over in chunks to the Flash component, is the size of 8kb too much in this case and can this be changed?

    "_fnFlashSetText": function ( clip, sData )
    {
    var asData = this._fnChunkData( sData, 8192 );


    Thanks in advance.
  • allanallan Posts: 63,381Questions: 1Answers: 10,449 Site admin
    > Also, with the data sent over in chunks to the Flash component, is the size of 8kb too much in this case and can this be changed?

    The JS / Flash bridge has a limit on the amount of data that can be transferred at a time - which is why TableTools chunks data like that.

    Unfortunately, I really don't know how to improve the performance to an acceptable level for the number of records you are working with (or I would have done it already!). I'm afraid that TableTools file export was just not designed for so much data.

    Allan
  • chetanachetana Posts: 4Questions: 0Answers: 0
    Thanks for the response! Unfortunately , there are a couple of reports that have this volume of data that need to be downloaded using client code and I was hoping this would work.

    Anyways is there a way to extend TableTools to display message / spinner when the save button is clicked
  • allanallan Posts: 63,381Questions: 1Answers: 10,449 Site admin
    Sure - you could stick a little bit of code into TableTools that would flash up a 'please wait' message - you could even use the fnClick option for the button that would do it, so you don't need to change the TableTools.js file - but it wouldn't solve the long wait I'm afraid. The only way to do that would be to pass the job off to the server and download a generated file.

    Allan
This discussion has been closed.