Apr 12, 2017, 4:10 PM
Dynamic Menu Accordion
Hi guys,
I am trying to create a menu like this
and this is my index.cshtml code
please somebody can help me
I am trying to create a menu like this
and this is my index.cshtml code
X.Panel()
.ID("MenuAccordion")
.Region(Region.West)
.Layout(LayoutType.Accordion)
.Title("MENU")
.Collapsible(true)
.MinWidth(200)
.MaxWidth(300)
.Width(250)
.Items(
X.TreePanel()
.Title("PRINCIPAL")
.ID("menuPrincipal")
.Width(250)
.Collapsible(true)
.Split(true)
.MinWidth(200)
.MaxWidth(300)
.Icon(Icon.Accept)
.Listeners(l =>
{
l.ItemClick.Handler = "if ('record.data.url') { loadPage(#{MiPanel}, record); return false; }";
// l.ItemClick.Handler = "if (record.isLeaf()) {e.stopEvent(); loadPage(#{MiPanel}, record); } else{ record[record.isExpanded() ? 'collapse' : 'expand']();}";
})
.RootVisible(false)
//.Root(Model)
,
X.TreePanel()
.Title("ALMACEN")
.ID("menuAlmacen")
.Width(250)
.Collapsible(true)
.Split(true)
.MinWidth(200)
.MaxWidth(300)
.Listeners(l =>
{
l.ItemClick.Handler = "if ('record.data.url') { loadPage(#{MiPanel}, record); return false; }";
//l.ItemClick.Handler = "if (record.isLeaf()) {e.stopEvent(); loadPage(#{MiPanel}, record); } else{ record[record.isExpanded() ? 'collapse' : 'expand']();}";
})
// .RootVisible(false)
//.Root(Model)
,
and this is my controller code public ActionResult Index(short id_usuario)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("es");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es");
ViewData["lang"] = "es";
//pMenu_DOM o_DOM = new pMenu_DOM();
List<pMenu_DTO> opciones = new List<pMenu_DTO>();
pMenu_DTO user_parametros = new pMenu_DTO();
if (WebAutenticaServicio.getAutenticacionUsuario.estadoValidado)
{
user_parametros.usuario = id_usuario;
opciones = pMenu_DOM.Lista(user_parametros);
if (opciones.Where(p => p.desmenu == "ALMACEN").FirstOrDefault() != null)
{
this.GetCmp<TreePanel>("menuAlmacen").Hidden = false;
var idmenu = opciones.Where(p => p.desmenu == "ALMACEN").FirstOrDefault().idmenu;
List<pMenu_DTO> oAlmacen = opciones.Where(x => x.idmenupadre == idmenu).ToList();
Node nAlmacen = ListarMenu(oAlmacen, idmenu);
nAlmacen.NodeID = "rootAlmacen";
this.GetCmp<Ext.Net.TreePanel>("menuAlmacen").Root.Add(nAlmacen);
}
}
else
{
return RedirectToAction("Login", "Acceso");
}
// return View(TreeMenuModel.ConsultaMenu(opciones));
return View();
}
the problem is that I have two ChildNodes in nAlmacen variable and then insert into rootnode in my treePanel this.GetCmp<Ext.Net.TreePanel>("menuAlmacen").Root.Add(nAlmacen);
but i can see in my viewplease somebody can help me