<p>Any ideas on how I can acheive 'Hierarchical' gridview?
Basically I want when the user clicks on the '+', i "expand" and insert new rows without a full page post back. </p>

<p>Does this sound like a lot of AJAX stuff? Or should I read on ASP.NET MVC</p>

<p>Please point me in right direction</p>

You have two options I suppose:
You can render out those rows you want to insert, and the [+] shows them and hides them
You don't render them out, and they are sent to the browser via AJAX, and then inserted into the table.
I've done it both ways, and the more gridviewy way to do it is the first, in my opinion.  You can create a new templatefield for the [+]; define a child relationship name, and then  call
GetChildRows
(or an equivalent) on each row as you render, having those rows render hidden.