5 Things to Look For When Choosing a Data Grid
This is the first in a series of articles discussing DataGrids and related topics
At GridGurus – the specialist DataGrid consultancy from AdapTable Tools - we frequently get asked for a particular JavaScript DataGrid recommendation.
This article will not answer that question (nor the related question of Build vs Buy - although future articles in this series will address both topics…). Instead, we pinpoint certain key elements we advise you to look for when choosing a DataGrid, particularly when your data environment is complex:
Customization
A good DataGrid should provide straightforward, configurable options for styling and theming that allow developers to personalise its look and feel to match that of their organisation or particular application. It should also be easy for run-time users to configure columns – to hide, reorder, resize, and group them – so they can create different views of their data to meet different use cases.
The importance of flexible customisation – particularly for runtime users – cannot be overstated. Frequently, at AdaptableTools, we encounter projects where the DataGrid in production met all the initial project requirements, but was then not able to keep up with enhancement and new functionality requests, or required lengthy downtime / developer resource even for the simplest of changes.
Performance
It is important to take DataGrid performance into account: both initial loading speed and run-time rendering. A good DataGrid should be able efficiently to load and display large datasets without any meaningful delay. It should leverage virtualisation techniques to ensure that it scrolls smoothly and interacts cleanly with the user. Complex calculations or fast-moving data should appear effortless.
However, there is one important caveat: performance metrics should match “real world” requirements, and not come at the cost of practical usage. Far too often at AdapTable Tools, we come across bespoke DataGrids that boast incredible performance (typically far in advance of what the users actually need) but are built in such a way that they cannot be configured by run-time users, while only a handful of developers understand the code well enough to make changes, and they inevitably move on while the application is still in production.
Manipulating Data
Effective sorting, filtering and editing capabilities are crucial for users to be able to visualise, analyse and interact with their data. A good DataGrid will allow you to sort on multiple columns, offer custom filters, and have advanced search functionality. It will allow you to edit data easily, efficiently and safely. Additionally, it should provide support for row and column grouping and, preferably, offer pivoting and aggregating functionality. Ideally it should also – where users have “big data” - include the capability to run data in “infinite” mode (where data is fetched as the grid scrolls) as well as to perform searching and filtering on the server.
Again – one big caveat is required: Only use server-side rendering, fetching or searching if it is absolutely needed (as a rough rule of thumb - only if you have more than 100,000 rows of data). It requires a lot of additional, often complicated, coding and, in our experience, is the source of many bugs and issues. Too often we are consulted by teams who went down the server-route when it was not needed and they ended up with a buggy, non-performant DataGrid that required additional upkeep. Our advice is: first try to load all your data on the client and only - when you have confirmed that is inadequate - move to a server / infinite mode.
Responsiveness
Where needed, the DataGrid should be able to adapt to different screen sizes and resolutions – particularly relevant where an application needs to be accessible on everything from a desktop pc to a mobile device. It should also respond quickly to commands and instructions.
We say “where needed” deliberately – not all business requirements demand a DataGrid to run on a mobile or a tablet (and often it’s an inappropriate form factor for very complex or large data) so only include this as a consideration if genuinely required.
Documentation and Support:
This is often the most overlooked requirement, but developers need comprehensive, organised documentation to understand how to install, use and configure their DataGrid to match their use cases. Successful DataGrid deployment also requires appropriate trouble-shooting and support to provide advice and solutions to the inevitable challenges.
Far too often our consultants are asked to provide a bespoke solution for something which the DataGrid already natively supports but doesn’t adequately document. Or to handle DataGrid version updates which contain undocumented breaking changes.
AdapTable Tools partners with some of the world’s largest companies to solve their DataGrid issues. We work with all DataGrids but specifically with AG Grid and Infinite Table for React.
Taking Grid Filtering to a new level
Tips & Tricks when picking a DataGrid for you
Unparalleled, comprehensive support for FDC3 2.0
Why we chose Infinite Table for React as the next DataGrid to extend
Read our latest updates to learn how AdapTable can make you more efficient and productive