本人新手,想实现-所有类型
 -镜片
   近视镜
   远视镜
   隐形眼镜
 -镜架
 -其他绑定到数据库,而且右键能实现曾删改等节点操作,哪位有代码可以给我参考的么?网上找的都是没实践过的,自己想是想不出来了,望高手指点

解决方案 »

  1.   

     DataTable dt1 = new DataTable();
                DataTable dt2 = new DataTable();
                string s1="select * from grade";
                string s2="select * from class";
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText=s1;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt1);
                cmd.CommandText = s2;
                da.Fill(dt2);
                //循环年级表,把年级名称加载到树控件上
                foreach (DataRow row in dt1.Rows)
                {
                    //年级节点
                    TreeNode node = new TreeNode();
                    node.Text=row["gradeName"].ToString();
                    node.Tag = row["gradeid"].ToString();
                    //找出相应年级的班级
                    DataRow[] rows=dt2.Select("gradeid=" + row["gradeid"].ToString());
                    //循环相应班级数据,把班级加到年级节点
                    foreach (DataRow dr in rows)
                    {
                        TreeNode tn = new TreeNode();
                        tn.Text = dr["className"].ToString();
                        tn.Tag = dr["classid"].ToString();
                        node.Nodes.Add(tn);
                    }
                    //添加年级节点
                    treeView1.Nodes.Add(node);
                }
                //展开所有节点
                treeView1.ExpandAll();
                //折叠所有节点
                //treeView1.CollapseAll();
      

  2.   

    treeview递归绑定节点 
    if(!IsPostBack) 

    BindJG(); 

      private void BindJG() 
        { 
            DataSet ds = new DataSet(); 
            //获取数据 
            DataTable dtb = ds.Tables[0]; 
            TreeNode root = new TreeNode(); 
            root.Value = "0"; 
            root.Text = ""; 
            root.ImageUrl = "../images/folder.gif"; 
            root.Expanded = true; 
            this.TreeView1.Nodes.Add(root); 
            initTree(dtb, "", root); 
            this.TreeView1.ExpandAll(); 
        }     protected void initTree(DataTable dt, string nFatherid, TreeNode fatherNode) 
        { 
            DataView dv = new DataView(dt);         if (nFatherid == "") 
                dv.RowFilter = "depth='1'"; 
            else 
                dv.RowFilter = "ParentId='"+nFatherid+"'"; 
            foreach (DataRowView Row in dv) 
            { 
                TreeNode node = new TreeNode(); 
                if (fatherNode.Value == "0") 
                { 
                  node.Value = Row["BH"].ToString(); 
                  node.Text = Row["mc"].ToString(); 
                  node.NavigateUrl = "";  
                  node.Target = "main"; 
                  node.ImageUrl = "../images/folder.gif"; 
                  fatherNode.ChildNodes.Add(node); 
                  initTree(dt, Row["BH"].ToString(), node); 
                } 
                else 
                { 
                    node.Text = Row["mc"].ToString(); 
                    node.Value = Row["BH"].ToString(); 
                    node.ImageUrl = "../images/jg.gif"; 
                    node.Target = "main"; 
                    fatherNode.ChildNodes.Add(node); 
              } 
            } 
        } 
    http://topic.csdn.net/u/20100119/12/24834f68-c01c-4e1d-86d3-d11777017c20.html?21203