Check out the DataGrid Extension widget. It provides this functionality.
Ultimately the data grid was never designed for what you're describing. The grid is intended to display data simply and efficiently, with a maximum of information density. Of course there are ways to work around this problem, which led to the creation of the DataGrid extension widget, but the easier solution is to switch to a widget more suited to your expectations.
Both the template grid and list view allow the situation you're describing, with a bare minimum of extra overhead, a ton more customization options, and without the addition of custom widgets. I recommend you take a look at one of those.