Here are the ones I tried (pretty briefly) - and my tests/reviews were all done in Visual Studio 2005 w/ .NET 2.0:
Microsoft: DataGridView
DevExpress: XtraGrid
ComponentOne: TrueDBGrid
Janus: GridEx
9Rays: FlyGrid
Note that ComponentOne also has a FlexGrid, which seems more like Excel. I was looking at grids that bind and the C1 help indicated the TrueDBGrid would be more what I was after.
Summary of each grid:
MS DAtaGridView
I really like the MS grid, but it didn't support hierarchical. We're still looking into this one for non-hier grids and it looks very good and VERY fast. We did some research into making it hierarchical based on
this blog, but more or less abandonded it as being too time consuming and prone to errors - we'd rather buy than build this type of control.
DevExpress:
This is what my company currently uses (version 2.x). I did a quick test of the 3.x grid and it appears mostly the same. It's nice - and it comes with full source. The version we have is currently in production so we can't easily upgrade and it's got a few bugs. It's not the best grid in the world, but it has a TON of options and good support. We've requested a few features get added (via their forums) and they showed up in a future release, which was nice. The main problem is that there are 100 ways to do anything with DevExpress and you can't always find the right way, easily. The help is getting better which is a big step. The other major con is performance - the initial time to load up a form that uses a DevExpress grid is by far the longest. It's got to be one of the "heaviest" 3rd party controls I've ever used. Feature-wise, it's topnotch.
ComponentOne:
The TrueDBGrid's hier' grid didn't draw the way I expect - the child "rows" show up as additional columns. That's how it appeared in my test and in their 1 hier' tutorial project. I sent them an email, but I'm waiting to hear back. As it stands now, I gave up on them since I was looking for a hierarchical grid and this just didn't work for me. I've heard LOTS of good things about C1, though.
Janus:
This one looks really nice, visually. I didn't play with it that long but I really liked the look and ease of use.
9Rays:
I gave up on this almost immediately. It took about 10 minutes of reading their help to figure out how to bind the grid and I could never get it to show columns and rows. Normally in binding you set a DataSource. The 9Rays grid wanted me to bind to a Rows property, which threw me off. I didn't want to get stuck with a product that's "easy" to use IF you developed it, but non-intuitive to the rest of us. Maybe I didn't give it a fair shake, but with so many other options, this one wasn't worth my time.
As far as what I did FIRST, I created a Word document of all the core features I want/need in a grid. This was based on what we've been using in grid controls for years. I left out some features that we use, but that we don't need. For features, I put in things like "need alternating row colors", "need read only grids", "need custom drop downs", "need drop-downs that are filtered per row", etc. Then I went looking for controls that would meet that need.
Right now, I've got it narrowed down to DevExpress and Janus, both similarly priced. I'm handing off the investigation to someone else who has more time but I can report back what we go with if you'd like.
-ner