string str_child_rule = "<li id='{0}'><a href='#'><ins></ins>{1}</a>{2}</li>";
            StringBuilder sb_rule = new StringBuilder(str_return_rule);            DataTable dt_Root = dt.Tables["DT_LeafRoot"];
            if (dt.Tables["DT"].Rows.Count > 0)
            {
                DataTable table = dt.Tables["DT"];
                sb_rule.Append("<ul>");
                
                
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    string key = table.Rows[i][0].ToString();
                                       
                    sb_rule.AppendFormat(str_child_rule, key, key,?);                }
                sb_rule.Append("</ul>");            }
            html_tree = sb_rule.ToString();
            ViewState["html_tree"] = html_tree;public string GetHtmlTree()
    {
        return ViewState["html_tree"].ToString();
    }这段是生成树的跟节点,请问如何编写后台代码,从而生成子节点。 dt.Tables["DT"];
为跟节点的数据,有一个字段Parent_ID, dt.Tables["DT_LeafRoot"];
为子节点的数据,有两个字段,Parent_ID与Child_ID  如何将Child_ID按要求连接到跟节点Parent_ID形成树

解决方案 »

  1.   

    完整DEMO
    http://topic.csdn.net/u/20091117/11/0520F3CA-10F0-4924-8743-1523A8984530.html
      

  2.   

    好麻烦,我这个数据都查出来了,二级节点在dt.Tables["DT_LeafRoot"]里,表由一级节点与二级节点组成,现在就差在 sb_rule.AppendFormat(str_child_rule, key, key,?)的问号处怎么把二级节点怎样拼接上去,形成树
      

  3.   

    你FOR循环 直接就读取I元素的值 进行拼接
    sb_rule.Append不用像你那样的。拼接HTML
      

  4.   

    那个DEMO的节点是无限级的,使用了递归的方法。你这个不用那么麻烦,因为只有两级
     sb_rule.AppendFormat(str_child_rule, key, key,?);需要用循环,因为不确定子节点的个数