/// <summary> /// 绑定根节点 /// </summary> public void BoundPNode() { var list = dal.GetProvinces(0);//获取全部的节点 foreach (var item in list) { TreeNode node = new TreeNode(); node.Text = item.PName; node.Tag = item.Id; BoundSNode(node, item.Id);//传过去Id tv.Nodes.Add(node); } } /// <summary> /// 绑定子节点 /// </summary> public void BoundSNode(TreeNode node, int pid)//根据传过来的Id获取子节点 { var list = dal.GetProvinces(pid); if (list != null && list.Count > 0)//判断是否还有子节点 { foreach (var item in list) { TreeNode subnode = new TreeNode();//实例化一个子TreeNode subnode.Text = item.PName; subnode.Tag = item.Id; BoundSNode(subnode, item.Id); node.Nodes.Add(subnode); } } }