问题描述
privatevoidCreateGroup(){DataRow[]drs=dt.Select("");//获取所有分组inti=0;foreach(DataRowdrindrs){i++;DevExpress.XtraNavBar.NavBarGroupNbg=newDevExpress.XtraNavBar.NavBarGroup();Nbg.Caption=dr["className"].ToString();if(i==1)Nbg.Expanded=true;//打开第一层navBarControl1.Groups.Add(Nbg);CreateSubLevel(Convert.ToInt32(dr["classid"]),Nbg);}}///<summary>///构建下层navbarsubLevel///</summary>///<paramname="grpId">组ID</param>///<paramname="PassGroup)">NavBarGroup名称</param>privatevoidCreateSubLevel(intgrpId,DevExpress.XtraNavBar.NavBarGroupPassGroup){dt=GetSubList();foreach(DataRowdrindt.Select("parentid="grpId"")){DevExpress.XtraNavBar.NavBarItemNbi=newDevExpress.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+=newDevExpress.XtraNavBar.NavBarLinkEventHandler(Nbi_LinkClicked);_listSqu++;}}///单击事件privatevoidNbi_LinkClicked(objectsender,DevExpress.XtraNavBar.NavBarLinkEventArgse){try{stringls_form;ls_form=e.Link.Item.Name.Trim();//防止一个窗口打开多次if(Application.OpenForms[ls_form]!=null){Application.OpenForms[ls_form].Activate();return;}stringassemblyName=(ls_form.Trim().Split('.'))[0];Formfrm=(Form)System.Reflection.Assembly.Load(assemblyName).CreateInstance(ls_form);frm.Show();}catch(Exceptionee){MessageBox.Show(ee.Message);return;}}
代码是从网上复制的有点不明白的是这句dt=GetSubList();各位大神帮忙看看
解决方案
解决方案二:
你没复制全吧,GetSubList函数你没复制过来这应该是查询下级列表的并返回下级列表的DataTable的方法
解决方案三:
能否帮忙编程一下????
解决方案四:
鬼才知道里面逻辑是什么?怎么帮你写
解决方案五:
dt=GetSubList();是你获取数据库里面的数据绑定到dt,dt是DataTabledt=newDataTable();