WinForm--(treeview 绑定)

根据用户权限获得DataTable,利用递归绑定TreeView

       //用重载实现递归,返回符合要求的所有Treeview菜单项
        private void MyTreeView(DataTable table, string ParentID, System.Windows.Forms.TreeNode PNode)
        {
            DataRow[] dr = table.Select("PID=" + ParentID);
            try
            {
                if (dr.Length > 0)
                {
                    foreach (DataRow d in dr)
                    {
                        System.Windows.Forms.TreeNode TNode = new System.Windows.Forms.TreeNode(); //创建TNode对像 
                        TNode.Text = d["PowName"].ToString(); //显示子点文本 
                        TNode.Name = d["ID"].ToString();//存储节点的父ID
                        if (PNode == null)
                        {
                            this.treeView1.Nodes.Add(TNode); //添加父子点 
                        }
                        else
                        {
                            PNode.Nodes.Add(TNode); //添加子节点 
                        }
                        MyTreeView(table, d["ID"].ToString(), TNode); //调用MyTreeView 
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message); //提示错误信息 
            }
        }

 

posted @ 2014-04-09 10:34  咲丶  阅读(274)  评论(0编辑  收藏  举报