/// <summary>
/// 绑定根结点,并添加到TreeView上
/// </summary>
private void BlindTree()
{
DataSet Ds= SelectCommand("Select * from TreeTable Where PID is Null or PID=''"); //取根结点
foreach (DataRow dr in Ds.Tables[0].Rows)
{
TreeNode tmpNode = new TreeNode();
tmpNode.NavigateUrl = "http://www.baidu.com/";
tmpNode.Value = dr["ID"].ToString();
tmpNode.Text= dr["Name"].ToString();
this.TreeView1.Nodes.Add(tmpNode);
GetChildNode(tmpNode, dr["ID"].ToString());
}
}
/// <summary>
/// 绑定子结点
/// </summary>
/// <param name="tNode">父结点</param>
/// <param name="pid">父结点ID</param>
void GetChildNode(TreeNode tNode, string pid)
{
DataSet Ds = SelectCommand("Select * from TreeTable Where PID="+pid); //取子结点
foreach (DataRow dr in Ds.Tables[0].Rows)
{
TreeNode tmpNode = new TreeNode();
tmpNode.NavigateUrl = "http://www.google.com/";
tmpNode.Value = dr["ID"].ToString();
tmpNode.Text = dr["Name"].ToString();
tNode.ChildNodes.Add(tmpNode);
GetChildNode(tmpNode, dr["ID"].ToString()); //无限递归绑定子结点
}
}