- //从数据库中读取数据
- SqlConnection con = new SqlConnection("server=127.0.0.1\\sqlexpress;uid=sa;");
- con.Open();
- con.ChangeDatabase("STggggg");
- SqlCommand cmd = new SqlCommand("select * from 产品树 where NodeType='f'", con);
- //cmd.CommandType = CommandType.StoredProcedure;
- SqlDataAdapter sda = new SqlDataAdapter(cmd);
- DataSet ds = new DataSet();
- try
- {
- sda.Fill(ds);
- }
- catch
- {
- }
- finally
- {
- cmd = null;
- con.Close();
- }
- //往TreeView中添加树节点
- //添加根节点
- TreeNode tn = new TreeNode();
- tn.Text = "所有产品";
- tn.Name = "0";//Name作为ID
- tn.Tag = "0";//Tag作为RootID
- tn.ImageIndex = 0;
- tn.SelectedImageIndex = 0;
- tv.Nodes.Add(tn);//该TreeView命名为tv
- tv.SelectedNode = tv.TopNode;
- //把其他节点加上去
- if (ds != null)
- {
- foreach (DataRow dr in ds.Tables[0].Rows)
- {
- tn = new TreeNode();
- tn.Text = dr["Product"].ToString();
- tn.Name = dr["CateID"].ToString();//Name作为CateID
- tn.Tag = dr["RootID"].ToString();//Tag作为RootID
- tn.ImageIndex = 1;
- tn.SelectedImageIndex = 1;
- //判断是否为主节点
- if (dr["CateID"].ToString() == dr["RootID"].ToString())
- {
- //主节点
- tv.SelectedNode = tv.TopNode;
- }
- else
- {
- //其他节点
- if (tv.SelectedNode.Name != dr["ParentID"].ToString())
- {
- TreeNode[] tn_temp = tv.Nodes.Find(dr["ParentID"].ToString(), true); //通过ParentID查找父节点
- if (tn_temp.Length > 0)
- {
- tv.SelectedNode = tn_temp[0]; //选中查找到的节点
- }
- }
- }
- tv.SelectedNode.Nodes.Add(tn);
- }
- //tv.ExpandAll();//展开TreeView
- tv.SelectedNode = tv.TopNode; //最顶端节点选中