当前位置:编程学习 > C#/ASP.NET >>

数据库动态形成navBarControl


private void CreateGroup()
        {
            DataRow[] drs = dt.Select("");//获取所有分组
            int i = 0;
            foreach (DataRow dr in drs)
            {
                i++;
                DevExpress.XtraNavBar.NavBarGroup Nbg = new DevExpress.XtraNavBar.NavBarGroup();
                Nbg.Caption = dr["className"].ToString();
                if (i ==1)  Nbg.Expanded = true;//打开第一层
                navBarControl1.Groups.Add(Nbg);
                CreateSubLevel(Convert.ToInt32(dr["classid"]), Nbg);
            }
        }

        /// <summary>
        /// 构建下层 navbar   subLevel
        /// </summary>
        /// <param name="grpId">组ID</param>
 /// <param name="PassGroup)">NavBarGroup名称</param>
        private void  CreateSubLevel(int grpId, DevExpress.XtraNavBar.NavBarGroup PassGroup)
        {
            dt = GetSubList();
            foreach (DataRow dr in dt.Select("parentid = "grpId""))
            {
                DevExpress.XtraNavBar.NavBarItem Nbi = new DevExpress.XtraNavBar.NavBarItem();
                Nbi.Caption = dr["className"].ToString();
                Nbi.Name = dr["winname"].ToString();
                Nbi.Tag = dr["classid"].ToString();
                Nbi.SmallImageIndex = _listSqu;
                PassGroup.ItemLinks.Add(Nbi);
                Nbi.LinkClicked += new DevExpress.XtraNavBar.NavBarLinkEventHandler(Nbi_LinkClicked);
                _listSqu++;
            }
        }
 ///单击事件
        private void Nbi_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            try
            {
                string ls_form;
                ls_form = e.Link.Item.Name.Trim();

                //防止一个窗口打开多次
                if (Application.OpenForms[ls_form] != null)
                {
                    Application.OpenForms[ls_form].Activate();
                    return;
                }
                string assemblyName = (ls_form.Trim().Split('.'))[0];
                Form frm = (Form)System.Reflection.Assembly.Load(assemblyName).CreateInstance(ls_form);
                frm.Show();
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
                return;
            }

        }




代码是从网上复制的  有点不明白的是这句 dt = GetSubList();各位大神帮忙看看 数据库动态形成navBarControl --------------------编程问答-------------------- 你没复制全吧,GetSubList函数你没复制过来
这应该是查询下级列表的并返回下级列表的DataTable的方法 --------------------编程问答-------------------- 能否帮忙编程一下???? --------------------编程问答-------------------- 鬼才知道里面逻辑是什么?
怎么帮你写
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,