How to design database for tree view with an infinite depth I am trying to combine C# and SQL2005 for an application which need to have tree view control.

One of user requests is to that tree view can user friendly grow into infinite dept of child nodes. That data should be stored into database and at user request i need to draw again tree view whit parent and child nodes as it user was edited and arranged before.

How I should design my table(s) that can easily grow at two axes of tree view.
What we have always done is do it as a self join, with a parent_id which points to the parent.  This has the advantage of being simple, easy to work with, etc.  Of course it also requires recursion and WITH RECURSIVE CTE's.  It is easy to work with and as long as you are not working at huge depths and lots of records it performs well (note you can generate to a set depth and then fetch more records when a user expands if you want).