Since your question is openended, providing a precise solution could be difficult.
If you need a wpf or winforms based solution, this could be one of the many approach:
1. Load all the data you want from the sql server into datasets
2. Make sure you have all the relations defined on them (Master / detail), this would alter help in the hierarchical display.
Refer to
http://msdn.microsoft.com/en-us/library/ms171913.aspx[
^] for accessing related records.
3. You need a tree view control which can display multiple columns and should be able to display different columns at each level.
You can use multi level hierarchical data templates in wpf for this purpose.
If you wish to use ASP.Net you can simply use multi level nested GridView
Refer to
Walkthrough: Creating a Nested GridView Control [
^]