Back

Data Grids are bad

Updated on 26 Aug 2023#Rants

I don't know why Data grids are used so heavily in "professional" industries. Short reminder what Data grids are. They are tables or excel sheet like interfaces in which every row is an item with a column for each attribute. AG-Grid is probably the most know data-grid library.

Good Design

Let's start by hallmarks of good product design and see how well the data grid does.

Visual hierarchy

The content on a page should be sized, spaced, colored and arranged so that the most important information is recognised first and then followed by secondary information. — Data grids don't do that. All cells have the same text size and color. The order of columns is is really the only way to prioritise information.

Responsive Design

The information on a page should adjust to the device of the user. On large screens you might combine views, increase the size of headlines. — Data grids are a bad choice for responsive design. Users will need to know that you can scroll your Data table and will look to hopefully find the information they need.

Navigation

If you have an overview page and display a list of items in a grid, most users expect to act on the individual items, or reveal more details about. the item. — Data grids are not indented for navigation. Your approach with adding a Button to open a detail page is probably not accessible, the same way your onClick() event for the row is not accessible.

Customisation

"But customisation" I hear you say "the user can configure the grid to their needs" you continue. Yes you need to offer customisation because you never spoke to the user to understand which information are important, so you just added all of them. Most Data grids are very bad in terms of how to customise and majority of users don't know how to hide/show columns, sort and group in your grid.

Easy to implement

You find some cool library online that fulfils all your dreams and has features you did not even dreamt about. Yes, very tempting, but soon you notice that you are now spending much more time building custom logic to handle the grid, compared to just having build a list your self.

The way out

Better talk to users understand what fields they care about and then use a list that based on Breakpoints hides or shows some more information.