Beware the temptation of datagrids as the main UI element of your app.
It's very tempting: clients love datagrids because they know how to use them. You might like them because they're simple to plug in and provide tons of functionality you don't want to hand-code.
Multiple times have we implemented datagrids as the main UI of an application only to regret it later. Clients expect it to do everything Excel does, and are frustrated when that's not the case. Or they want to sort on a column that makes no sense to have in the datagrid, but if it's not in the grid you can't sort by it. And some of the implementations can be a nightmare to maintain beyond the common cases -- looking at you, ExtJS Grid.
More often than not, you can write a UI that serves the customers needs better and still meets their usability goals. And if they want to report on their data, allow them to download a daily dump in CSV format. Then they can do their Excel reporting without introducing a datagrid into the app.
It's very tempting: clients love datagrids because they know how to use them. You might like them because they're simple to plug in and provide tons of functionality you don't want to hand-code.
Multiple times have we implemented datagrids as the main UI of an application only to regret it later. Clients expect it to do everything Excel does, and are frustrated when that's not the case. Or they want to sort on a column that makes no sense to have in the datagrid, but if it's not in the grid you can't sort by it. And some of the implementations can be a nightmare to maintain beyond the common cases -- looking at you, ExtJS Grid.
More often than not, you can write a UI that serves the customers needs better and still meets their usability goals. And if they want to report on their data, allow them to download a daily dump in CSV format. Then they can do their Excel reporting without introducing a datagrid into the app.