Hi all, Hope this hasn't come out twice, if it has, apologies. I needed a treetable for a project I'm doing, but nothing I had seen quite fitted the bill, so I made my own, and then adapted it so it could be used as a plugin. This is my first plugin, so be kind, any help making it more efficient/jquery-like would be most appreciated. Basically, you build an ordinary html table with the styling you want. You wrap a single tbody around the rows you want to have expanding/ collapsing and give it a class or id, as this is the selector that will be used by jQTreeTable. This way, if javascript is disabled, visitors still get the plain table. Then you set up a one dimensional array of parents for each row. The length of this will be the same as are rows in the tbody. For the purposes of mapping the parents, the first row is row 1 (not 0), and corresponds to the first item in the array. The top level items in the tree have a parent of 0, with the rest having their immediate parent's row number as their entry in the array. You'll be able to see all this on the demo page [Link below]. You then set the options you would like, like the images for open and closed states, which nodes you want initially collapsed, what column you would like to have the treeview effect. There are already defaults for these options. You feed this hash and array into the jQTreetable plugin and it takes it from there. It can also be set up as just a treeview, by making a one column table, although you are probably better off using Jorn's treeview based on lists if that's all you want to do, as it is probably better performance-wise and definitely better effects-wise. I tried this with a 500 node treetable, which took a couple of seconds to load, probably because of all the randomly generated content, but there didn't seem to be any noticeable degrade in the opening/closing of nodes. If your mileage varies, let me know. It's only been tested in IE7 and Firefox, although I don't expect too many issues as I used very simple CSS swapping for the effect. Feature requests and bug reports are welcome, although feature requests may take some time, as I'd like to wait and see if I can adapt it to some work that some very clever coders over at jQuery UI are doing. The link to it is <a href="http://www.hanpau.com/jquery/ unobtrusivetreetable.php">http://www.hanpau.com/jquery/ unobtrusivetreetable.php</a>
Just hope it will be useful to people. Regards, Paul.