- 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);//继续递归函数
- }
- }
递归小应用 .

