急求!递归算法绑定TreeView根节点绑定好了,子节点绑定不上去!
[code=C#][/code] protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
foreach (Categories c in cs.findAll())
{
TreeNode t = new TreeNode();
t.Text = c.Name;
t.Value = c.Id;
TreeView1.Nodes.Add(t);
addchildNodes(t);
}
}
}
private void addchildNodes(TreeNode tn)
{
string pid = tn.Value;
foreach (Categories c in cs.find(pid))
{
TreeNode t = new TreeNode();
t.Text = c.Name;
t.Value = c.Id;
TreeView1.Nodes.Add(t);
addchildNodes(t);
}
}
------解决方案--------------------
TreeView1.Nodes.Add(t);
这句代码的意思,是在树控件里添加根节点;
也就是说,无论你递归多少次,你都不可能添加子节点;
添加子节点的语句,我凭印象,大概记得如下
TreeView1.Nodes.Find(pid,true)[0].Nodes.Add(t);
意义为:首先在树控件中找到待添加节点的父节点([0]的意义为查找到的第一个符合条件的节点),然后在将待添加节点添置为该节点的直接子节点。