private void BindTree()
{
string sql = "select ID,[name],byte from Sut";
DataTable dt = SQLHelper.ExecuteDataTable(sql);//获取数据源
int s = dt.Rows.Count;//
DataView dv = new DataView(dt);
dv.RowFilter = "byte=0";
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv["Name"].ToString();//显示的文本
node.Tag = drv["ID"].ToString();//不显示的 文本 值
treeView1.Nodes.Add(node);//添加到根节点
AddReplies(dt, node);//递归函数
}
}
protected void AddReplies(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "byte='" + node.Tag + "'";//过滤 node。Value 为上级的treeNode 值
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();//新建一个节点
replyNode.Text = row["Name"].ToString();//显示的文本
replyNode.Tag = row["ID"].ToString();//不显示的 文本 值
node.Nodes.Add(replyNode);//添加到子节点
AddReplies(dt, replyNode);//继续递归函数
}
}