怎样把SQL数据库里的值绑定到TreeView的子节点和根节点?
怎样把SQL数据库里的值绑定到TreeView的子节点和根节点?
我的类有一级,二级,要分别绑定到他们的一级节点,二级节点上??
吼起来`~
[解决办法]
给你个递归参考.其中的gvTreeView你可以用TreeView来替代.
- C# code
private void Form1_Load(object sender, EventArgs e) { SqlConnection sql = new SqlConnection(@"Data Source=LIUFENG\SQLEXPRESS;Initial Catalog=liufeng;Integrated Security=True"); SqlCommand cmd = new SqlCommand("Select * from TreeTable", sql); DataSet dss = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dss); DataTable dt = dss.Tables[0]; BindTree(gvTreeView, dt); } protected void BindTree(gvTreeView gvTreeView , DataTable dt) { gvTreeView.Nodes.Clear();//清空树节点 DataRow []row = dt.Select("ParentID is null"); if (row.Length <= 0) { return;//找不到根结点则返回 } gvTreeNode root = new gvTreeNode(); root.Text = row[0]["name"].ToString(); root.Tag = row[0]["ID"].ToString(); gvTreeView.Nodes.Add(root); CreateChildNode(root, dt); root.Expand(); } protected void CreateChildNode(gvTreeNode gvTreeNode, DataTable dt) { DataRow[] rows = dt.Select("ParentID ='" + gvTreeNode.Tag + "'"); foreach(DataRow row in rows) { gvTreeNode Node = new gvTreeNode(); Node.Text = row["name"].ToString(); Node.Tag = row["ID"].ToString(); gvTreeNode.Nodes.Add(Node); CreateChildNode(Node, dt); } }
[解决办法]
treeView1.ExpandAll()
就可以展开啊。