我用的递归方法绑定数据,代码是这样的:
private void BindDate(int Pid, TreeNode PNode)
{
DataSet ds = cBll.GetList("");
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
DataView dv = new DataView(dt);//过滤ParentID,得到当前的所有子节点 ParentID为父节点ID
dv.RowFilter = "[ParentCode] = " + Pid;//循环递归
foreach (DataRowView Row in dv)
{//声明节点
TreeNode Node = new TreeNode();//绑定超级链接
if (PNode == null)
{//添加根节点
Node.Text = Row["TrueName"].ToString();
Node.Value = Row["ID"].ToString();
treeT.Nodes.Add(Node);
Node.Expanded = true; //节点状态展开
BindDate(Int32.Parse(Row["Code"].ToString()), Node);//再次递归
}
else
{//添加当前节点的子节点
Node.Text = Row["TrueName"].ToString();
Node.Value = Row["ID"].ToString();
PNode.ChildNodes.Add(Node);
Node.Expanded = true; //节点状态展开
BindDate(Int32.Parse(Row["Code"].ToString()), Node);//再次递归
}
}
}
}
http://www.cnblogs.com/_ymw/archive/2010/10/19/yanmingwei.html