Registration is open - Live, Instructor-led Online Classes - Elasticsearch in March - Solr in April - OpenSearch in May. See all classes


Top JavaScript Dynamic Table Libraries

UPDATE: See Introducing Sematable for the most modern React/Redux table component.

Since @sematext focuses on Search, Data and Text Analytics, and similar areas that typically involve exclusively backend, server-side work, we rarely publish anything that deals with UI, UX, with JavaScript, front ends, and do on. However, our Search Analytics and Scalable Performance Monitoring services/products do have rich, data-driven UIs (think reports, graphs, charts, tables), so we are increasingly thinking (obsessing?) about usability, intuitive and clean interfaces, visual data representations, etc. (in fact, we have an opening for a UI/UX designer and developer).  Recently, we decided to upgrade a group of Search Analytics reports that, until now, used a quickly-thrown-together HTML table that, as much as we loved its simplicity, needed a replacement.  So we set out to look for something better, more functional and elegant.  In the process we identified a number of JavaScript libraries for rendering and browsing tabular data.  Eventually we narrowed our selection to 6 JavaScript libraries whose characteristics we analyzed.  In the spirit of sharing and helping others, please find their feature matrix below.

Feature

DataTables

JqGrid (aka Sigma2)

Slickgrid

dhtmlxGrid

Flexigrid

ExtJs

LicenseGPL v2 license or a BSD (3-point) licenseLGPLMITGrid License $449MITLicense from $600
Show/Hide columnsyesNo/noNo/no
Update: Yes, using ColumnPicker plugin 
Yes/yesYes/yesYes/yes
Resize/Reorder columnsyes/yesYes/yesYes/yesYes/yesYes/yesYes/yes
Client side sortingyesyesyesyesnoyes
Support JSO as data sourcyesyesyesyesyesyes
Export data to Excel/CSVyesyesnoExcel and PDFnoNo, but see forum
on this topic 
Endless scrollyesnoyesyesnoyes
Filter by columnsyesyesNot very useful but exists in different area, not in headeryesnoyes
Search(all columns simultaneously).yesyesyes(server)noyesno
Aggregation footernononoyesnono
Additional informationHas a lot extensions and plug-insLooks niceHandles hundreds of thousands of rows with good speedEasy java integration
www.dhtmlx.com/
blog/?tag=java

Guess which of the above libraries we chose?

If you think we missed a library that deserves a spot in our matrix or if anything looks wrong, please let us know, via comments for example.

Start Free Trial