多表做一个树形菜单,帮忙解决下 在线等....
stand表(工点表) 
 字段:standID         standName   
 sort表(文件分类表) 
 字段:sortID         sortName   
 file表(文件分类下的具体文件表) 
 字段:fileID         fileName      sortID         standID     
 三层菜单: 
 工点A 
                ---文件分类A 
                                                    ---具体文件A 
                ---文件分类B                
                                                    ---具体文件B 
                                                    ---具体文件C 
 工点B 
                ----文件分类A 
                                                    ---具体文件D 
                ----文件分类B 
                                                    ---具体文件E 
 工点C 
                ----文件分类A 
                                                    ---具体文件F 
                ----文件分类B 
                                                    ---具体文件G     
 帮忙看下,这三张表怎么弄成树形菜单。 
 顺便说一下,我以前做的树形菜单的数据都是放一张表里面的,取出来在JSP页面调用一个 
 js文件里面的   add( "ID ", "父类ID ", "名称 ")就OK了       
 现在是三张表,不知道怎么搞...哪位帮忙解决下
------解决方案--------------------不缺的,我知道了。   
 fileID fileName sortID standID   这里的sortID -->  standID. 
 所以当你向树里添加  文件分类表(sort,有一个sortId)  的时候, 
     你在  具体文件表  查找一个sortId和他相同的文件,这个文件的standId就是文件分类表(sort)的头,也就是父类ID。有了父类id就可以添加到树里了。     
     添加文件有直接的父类ID
------解决方案--------------------可以试试三个方法   
 1、用递归sql语句,但是不是所有的数据库都支持递归sql语句的,已知DB2是可以的 
 2、分别取出三个表数据,程序处理来整合他们的父子关系,放到一个集合里 
 3、做成ajax菜单,先显示第一层菜单,点击之后显示这个节点的下一层菜单
------解决方案--------------------以前的老帖,供参考 
 http://community.csdn.net/Expert/topic/5524/5524253.xml?temp=.3242151 
 我的blog里的一篇关于树形结构的文章,供参考 
 http://blog.csdn.net/daniel_kaka/archive/2007/05/16/1611914.aspx 
------解决方案--------------------首先明确一点:工点有几个,那么树的第一层节点就有几个。   
 好,来看第二层数据,如果分类中有数据,才显示该节点,还是没有数据,就不显示该节点。如果不管有没有数据,都显示出所有的分类,那更简单。这里假设显示出所有分类   
 好,得到工点的数据,比如ArrayList arrG。得到分类的数据,比如ArrayList arrS。得到文件数据,比如ArrayList arrF。另外定义一个填充树节点的数据集ArrayList arrData,里面放javabean,例如TreeData,字段三个id ,parentId,name。   
 循环(arrG) 
 { 
     arrData.add(第一层节点); 
     循环(arrS) 
     { 
         arrData.add(第二层节点);//注意TreeData的parentId为工点号 
         循环(arrF) 
        { 
            判断(是否属于这个工点和分类) 
            { 
                arrData.add(第三层节点);//注意TreeData的parentId为工点号+分类号 
            }     
         } 
     } 
 }