//在TreeView控件中显示一级教程
        void GetClassNodes(string cid)
        {
            string sqlStr = "select * from classlist where cid=" + cid;
            ds = SQLHelper.Query(sqlStr);
            TreeNode tn = new TreeNode();
            tn.Text = "选择一个列表";
            tn.Value = "root"; 
            DelTree(TreeView1.Nodes);
            InitTree(tn.ChildNodes, "0");
            TreeView1.Nodes[TreeView1.Nodes.Count - 1].ChildNodes.Add(tn);        }
        void DelTree(TreeNodeCollection nds)
        {
            for (int i = 0; i < nds.Count; i++)
            {
                TreeNode tn = nds[i];
                if (tn.Value != "t")
                {
                    nds.Remove(tn);
                }                for (int j = 0; j < tn.ChildNodes.Count; j++)
                {
                    TreeNode tn1 = tn.ChildNodes[j];
                    if (tn1.Value != "t")
                    {
                        tn.ChildNodes.Remove(tn1);
                    }
                }
            }        }
        //显示所有子教程
        protected void InitTree(TreeNodeCollection Nds, string parentId)
        //用递归方法动态生成节点
        {
            DataView dv = new DataView();
            TreeNode tmpNode;
            dv.Table = ds.Tables[0];
            dv.RowFilter = "[parent]=" + parentId;
            foreach (DataRowView drv in dv)
            {
                tmpNode = new TreeNode();
                tmpNode.Value = drv["id"].ToString();
                tmpNode.Text = drv["title"].ToString();
                tmpNode.NavigateUrl = "javascript:MenuClick(" + drv["id"].ToString() + ")";
                tmpNode.SelectAction = TreeNodeSelectAction.Select;
                Nds.Add(tmpNode);
                this.InitTree(tmpNode.ChildNodes, tmpNode.Value);
            }
        }
此程序代码中
        void DelTree(TreeNodeCollection nds)函数中 if (tn.Value != "t") "t"代表什么含义