第一张表:dmfs_drugstype_info 字段有:DrugTypeID主键,自增,DrugTypeName,DrugTypeNote,ParentDrugTypeID的值恒为0,也就是根节点 
第二张表:dmfs_drugs_info     字段有:DrugID,DrugName,DrugTypeID外键
现在要实现的效果是:把第一张表的字段作为树形的根节点。第二张表按DrugTypeID的值加到相对应的根节点下,作为子节点。
我不是想坐待答案,实在没办法,自己搞不出来。求助。谢谢!
在线等答案,不清楚的地方可以问我。拜托。要全部的实现代码,拜托!

解决方案 »

  1.   

      简单操作
      initTree(dt, "", root);
        protected void initTree(DataTable dt, string nFatherid, TreeNode fatherNode)
        {
            DataView dv = new DataView(dt);
            dv.RowFilter = "ParentDrugTypeID='" + nFatherid + "'";
            foreach (DataRowView Row in dv)
            {
              TreeNode node = new TreeNode();
              if (fatherNode.Value == "0")//根节点
                {
                    node.Value ="";
                    node.Text = "": 
                    fatherNode.ChildNodes.Add(node);
                    if(IsHasChildRy(Row["XTBH"].ToString()))
                    {
                        DataSet ds = HasChildRy(Row["DrugTypeID"].ToString());
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                            {
                                TreeNode no = new TreeNode();
                                no.Value = "";
                                no.Text = "";                   
                                node.ChildNodes.Add(no);
                            }
                        }
                    }
                    initTree(dt,Row["DrugTypeID"].ToString(), node);//递归
                }
                else
                {
                    node.Text ="";
                    node.Value ="";
                    fatherNode.ChildNodes.Add(node);
                }
            }    }
    通过List<t>递归绑定treeview
      

  2.   

    wuyq11,您好!感谢你的回复,我现在有以下问题需要请教您:
    1:您获取了绑定treeview的数据源了吗?
    2.哪些空置的地方是填写什么字段名呢?  例如no.Value = ""; no.Text = "";