我是用dTree.js来生成树:d = new dTree('d');
d.add(01,0,'珠宝');
d.add(0101,01,'黄金');
d.add(010101,0101,'项链');
d.add(01010101,010101,'镶嵌');
document.write(d);如何获取树路径:01,珠宝,0101,黄金,010101,项链,01010101,镶嵌
      
   
   

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【QWERT520】截止到2008-08-01 15:57:06的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:30                       每贴平均分数:15                       
    回帖的总数量:148                      得分贴总数量:55                       回帖的得分率:37%                      
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:30                       
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=QWERT520
      

  2.   

    d = new dTree('d');
    d.add(01,0,'珠宝');
    d.add(0101,01,'黄金');
    d.add(010101,0101,'项链');
    d.add(01010101,010101,'镶嵌');
    document.write(d); 硬编码还是读数据读出来的?如果是读数据,那就从你读的数据里处理吧.
      

  3.   

    是从数据库中读出来的,它自带的哪个递归函数可以实现任何一个节点到根结点的路径?现在我实现的方式是按当前子节点,用递归去找到父结点,也就是通过递归查询数据库的方式实现,总感受现实的效率不高,
    而且要反复查询数据库。实现方法:
     /**
     * 递归获取类别编码,类别名称
     * @param lbbm
     * @return
     * @throws SysException
     */
    public List getBMMCInfo(String gyszh,String lbbm)
    {
    List list = new ArrayList();
    try
    {
    getLBBMMC(list,gyszh,lbbm);
    } catch (SysException e)
    {  
    e.printStackTrace();
    }
    return list;
    }/**
     * 递归获取类别编码,类别名称
     * @param listBMMC  类别编码,类别名称记录集
     * @param gyszh     企业帐号
     * @param lbbm      类别编码
     * @return
     * @throws SysException
     */
    public void getLBBMMC(List list,String gyszh,String lbbm) throws SysException
    {
    Pbtype zlb = null;
    String hql = "from Pbtype where gyszh ='" + gyszh + "' and lbbm ='" + lbbm + "'";
    List il= dao.find(hql);
    for (int i = 0; i < il.size(); i++)
    {
    zlb = (PbGysspflb) list.get(i);
    list.add(zlb.getLbbm());      //存入类别编码
    list.add(zlb.getLbmc());      //存入类别名称
    getLBBMMC(list,gyszh,zlb.getFlbbm());
    }
    }