动态添加navBarControl1 DXperience学习笔记

在进行DXperience进行项目开发的时候 navBarControl1 提供了组分类的功能 相对于微软自带的控件 本人认为DXperience有着不可超越的优势,在平常学习的过程中,碰到了一些问题 如何对navBarGroup1进行有选择的显示 即对于每个登录的用户进行权限分配,今天把学习的经验写出来,希望能给DXperience爱好的初学者一点启发

   数据库读取到 dataset后进行编写如下代码
 

以下是代码片段:


if (ds.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                         string id = ds.Tables[0].Rows[i]["id"].ToString();  //该用户可管理的id号
                         if (User.Power.IndexOf(id) == -1)
                             continue;
                        string mid = ds.Tables[0].Rows[i]["mid"].ToString(); //隶属的管理类型
                        string name = ds.Tables[0].Rows[i]["PowerName"].ToString(); //管理名称
                        int cls = int.Parse(ds.Tables[0].Rows[i]["type"].ToString());//图片号码
                        switch (mid)
                        {
                            case "1":
                                AddGroup(navBarGroup1, name, "n" + id, cls);//AddGroup函数用于在navBarGroup1控件中写入新项
                                break;
                            case "2":
                                AddGroup(navBarGroup2, name, "n" + id, cls);
                                break;
                            case "3":
                                AddGroup(navBarGroup3, name, "n" + id, cls);
                                break;
                            case "4":
                                AddGroup(navBarGroup4, name, "n" + id, cls);
                                break;
                            case "5":
                                AddGroup(navBarGroup5, name, "n" + id, cls);
                                break;
                        }


                    }
                }
 

以下是 AddGroup  函数


以下是代码片段:
 /// <summary>
        /// 参数传递 添加控件
        /// </summary>
        /// <param name="nbg"></param>
        /// <param name="name"></param>
        /// <param name="id"></param>
        /// <param name="cls"></param>
        private void AddGroup(DevExpress.XtraNavBar.NavBarGroup nbg,string name,string id,int cls )
        {
            try
            {
                DevExpress.XtraNavBar.NavBarItem navBarItem1 = new DevExpress.XtraNavBar.NavBarItem();
                navBarItem1.Caption = name;
                navBarItem1.Name = id;
                navBarItem1.SmallImageIndex = cls;
                navBarItem1.LinkClicked += new DevExpress.XtraNavBar.NavBarLinkEventHandler(navBarItem1_LinkClicked);  //新增项的 点击事件 触发
                nbg.ItemLinks.AddRange(new DevExpress.XtraNavBar.NavBarItemLink[] { new DevExpress.XtraNavBar.NavBarItemLink(navBarItem1) });
            }
            catch (Exception ex)
            {
               MessageBox.Show(ex.Message);
            }
        }


以下是点击事件代码

以下是代码片段:


/// <summary>
        /// 左侧栏点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void navBarItem1_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            try
            {
                string pagename = e.Link.Item.Name; //获取左侧栏的name值
                string caption = e.Link.Caption;    //获取名字
                switch (pagename)
                    {
                        case " ":  
                              //执行代码
                           break;
                     }

           }
            catch (Exception ex)
            {
               MessageBox.Show(ex.Message);
            }
         
        }

以上代码如果有疑问留言发问 我会尽量帮你寻找答案
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值