#region   根据用户权限将菜单挂TreeView
///   <summary>
///   初始化菜单的根节点,并调用递归函数,生成菜单树
///   </summary>
///   <param   name= "strUserid "> 传入登录的用户ID </param>
///   <param   name= "strFrame "> 点击菜单时所指向的网页的strFrame </param>
///   <param   name= "treMenu "> 用于显示菜单的treeview </param>
private   void   InittreMenu(string   strUserid,   string   strFrame,   TreeView   treMenu)
{
DataSet   dsMenu   =   new   DataSet();
string   strSql   =   "select   *   from   tbMenu   where   id   = '10 ' ";  
dsMenu   =   GetDataSet.SelectSql(strSql, "MenuTable ");   //   获得树的内存表
treMenu.Nodes.Clear();//   清空树
TreeNode   tndRoot=new   TreeNode();
tndRoot.Text=dsMenu.Tables[0].Rows[0][ "fcaption "].ToString();   //   给节点绑定显示值
tndRoot.NodeData=dsMenu.Tables[0].Rows[0][ "id "].ToString();   //   给节点绑定key值
tndRoot.Expanded=true;   // 默认根结点为展开
tndRoot.Target   =   strFrame;
if   (   dsMenu.Tables[0].Rows[0][ "fparameter "].ToString()   ==   " ")
{
tndRoot.NavigateUrl   =   dsMenu.Tables[0].Rows[0][ "furl "].ToString();
}
else
{
tndRoot.NavigateUrl   =   dsMenu.Tables[0].Rows[0][ "furl "].ToString()   + "? "+PageParams(dsMenu.Tables[0].Rows[0][ "fparameter "].ToString(),dsMenu.Tables[0].Rows[0][ "fvalue "].ToString());
}
treMenu.Nodes.Add(tndRoot);
string   strParentid=dsMenu.Tables[0].Rows[0][ "id "].ToString();   // 他子节点的strParentid字段值
CreateChildNode(strUserid,strFrame,strParentid,tndRoot);// 加入所有根结点以下的结点
}

///   <summary>
///   通过递归生成菜单树
///   </summary>
///   <param   name= "strUserid "> 传入登录的用户ID </param>
///   <param   name= "strFrame "> 点击菜单时所指向的页面的strFrame </param>
///   <param   name= "strParentid "> 上一级菜单的结点ID </param>
///   <param   name= "parentnode "> 上一级菜单结点 </param>
private   void   CreateChildNode(string   strUserid,string     strFrame,string   strParentid,TreeNode   parentnode)
{
DataSet   dsMenus   =   new   DataSet();// 选出所有子节点
string   strSql   =   "select   *   from   tbMenu   where   id   in   (select   Menuid   from   tbUsersMenu   where   Userid   =   "   +   " ' "+strUserid   + " ' "+   ")   and   fParentid   = "+ " ' "+strParentid+ " ' ";
//遍历所有子节点
dsMenus   =   GetDataSet.SelectSql(strSql,   "MenusTable ");
foreach(   DataRow   r   in   dsMenus.Tables[0].Rows   )
{
TreeNode   tndChild   =   new   TreeNode();
tndChild.Text   =   r[ "fcaption "].ToString();
tndChild.NodeData   =   r[ "id "].ToString();
parentnode.Nodes.Add(tndChild);
tndChild.Expanded=false;
tndChild.Target   =   strFrame;
if   (   r[ "fparameter "].ToString()   ==   " ")
{
tndChild.NavigateUrl   =   r[ "furl "].ToString();
}
else
{
tndChild.NavigateUrl   =   r[ "furl "].ToString()   + "? "+PageParams(r[ "fparameter "].ToString(),r[ "fvalue "].ToString());
}
strParentid=r[ "id "].ToString();
CreateChildNode(strUserid,strFrame,strParentid,tndChild);//递归下一级节点
}
}
#endregion
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值