5

I am looking for a responsive JavaScript table which loads and handles atleast 20k records within 2 or 3 seconds and have many options:

  • CSV
  • Copy to clipboard
  • Export Excel, PDF, text, PNG, Word, JSON
  • Visible columns

It must be open source.

Here is the ones I have found:

  • This does not seem like a significant amount of data, even for a single second, which is probably why you say that you have "have many options". Can you give us more requirements? For instance, are these particularly huge records? What is wrong with the ones which you name? Btw, if it is taking that long, please show a progress indicator (ux.stackexchange.com) – Mawg Oct 16 '18 at 9:05
  • 1
    Also, you can consider a “virtual table”. That is a table which olds all 20k records in memory, but only displays 20 or 30, in a sliding window” on screen at any time. Since it is the display that takes real time & memory, this technique has been around for a long time. – Mawg Nov 16 '18 at 10:38
0

Datatables should able support large record, even server side. If you need help to transfer data over the wire faster, you might need streaming API, or some ajax method like comet.

jqGrid or other jQuery library should also do fine

If the loading over the wire is what you intended to ask, maybe change the title or ask another question.

Loading 20,000 should be the extremely maximum that should implement. I guess around 5k to 10k data loading in one time, could work for some task, and loading another batch while user browsing half of them. Test your scenario on bottom-line browser, or even mobile browser for the maximum row your want to achieve

0

I've used DataTables in the past. It has a good API and documentation. You might need to control how your 20k records load, than trying to find a tool that would load these 20k rows in one go.

  • why the performance is still not fixed in data-tables? is there is any work-around to overcome the performance issue? can any fix which has done in slick grid or other grid can be incorporated in datatables..20k is very less in an enterprise application.. – Kathir Aug 15 '17 at 2:51
  • You mean there are users that need to read 20k of rows in one go? You should try to use pagination. Pagination should break the 20k in 40 or more pages, which will allow the page to load in 2 or 3 secs and the download button should download all the data. – Sonamor Aug 15 '17 at 7:26
  • 1
    Here you can find more about the pagination and the options you have. datatables.net/examples/basic_init/alt_pagination.html – Sonamor Aug 15 '17 at 10:28
  • pagination breaks the search in whole table....can we search in whole records even though pagination is set? – Kathir Aug 16 '17 at 3:15
  • On this demo it seems to be working fine... phpflow.com/php/… – Sonamor Aug 16 '17 at 6:43
0

DHTMLX grid is what I use for any javascript UI.

Combined with DHTMLX connector on the server side, I can render tables with millions of records in zero time.

How it works:

  • javascript grid is configured and initialized on the client, parameter smartrendering is set to ture and number of records to render is set to 100
  • as the grid loads it's first data, it will automatically ask the server for the number of rows that will need to be rendered and the list of first 100 records
  • when the user scrolls or filters, the requests are automatically forwarded to the server which immediately presents the limited set of data needed to be shown on the frontend

Note: DHTMLX is open source but there is also a slightly easier to use PRO solution you can buy.

I am not affiliated with DHTMLX.

  • "I can render tables with millions of records in zero time" ... O'rly ? – Mawg Oct 16 '18 at 9:06
  • :-) nope, just emperical testing – Harry Oct 16 '18 at 16:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.