A few days ago I was designing a threaded comment system for Drinkingfor.com which allows users to reply back to other users directly instead of a flat comment system like you see at most other places. I made my argument for threaded comments over here
and why they should be used. I didn't know where to start or how to write the code. I had a pretty good idea on database design which was decently simple. Each comment shall have an owner comment. The treeview is the best example of what the data in the database should look like. As for how to display this out to code is another problem. I ended up searching on the internet and found a man who created hierarchy class which is exactly what I needed. The Hierarchy class selects the information from the database and organizes it into a cached treeview. I ended up talking to him and he had explained to me that he was refactoring the class which will allow it to run faster. As for how I implemented the code to write out HTML, I ran through the hierarchy class recursively and then created html for each node found. The class was quite impressive and I included some sample code below. I didn't want something like this to be wasted and hope everyone can put it to good use.
I also wanted to give a shout out to Stefan Cruysberghs and say thank you for creating this class and posting it up on the net. Now to keep with the current standard, I will post up my execution of his code.
ThreadedComments.cs (5.98 kb)
If you liked this post, please be sure to subscribe to my RSS Feed.