コード例 #1
0
        private void LlenaMenu()
        {
            MenuEmpleado[] Mnu = client.GetMenuEmpleadoHTML5(Session["numUsuario"].ToString());

            if (Mnu != null)
            {
                foreach (MenuEmpleado item in Mnu)
                {
                    TableItem genericItem;
                    genericItem = new TableItem(item.MenuDescription, item.MenuPrimaryKey, Convert.ToInt32(item.MenuDepe), item.MenuHtml5Path, item.MenuHtml5Width, item.MenuHtml5Height);

                    this.unsortedList.Add(genericItem);
                }
                var rootNodes = this.unsortedList.Where(x => x.ParentID == 0);

                // Foreach root node, get all its children and add the node to the HierarchicalDataSource.
                // see bellow how the FindChildren method works
                List <TableItem> tbl = new List <TableItem>();
                foreach (TableItem node in rootNodes)
                {
                    this.FindChildren(node);
                    tbl.Add(node);
                    //Vtbl.Add(node);
                }

                bool  bnuevo   = false;
                Int32 Contador = 0;

                foreach (TableItem node in tbl)
                {
                    if (node.Children.Count > 0)
                    {
                        if (Contador == 0)
                        {
                            MyDivPrin.Append("<div class='divMenu'>");
                            MyDivPrin.Append("<ul class='topnav'> ");
                        }

                        MyDiv.Append("<li>");
                        MyDiv.Append("<a href = '#' class = 'OpenMenu'><span><b>" + node.NodeText + "</b></span></a>");
                        MyDiv.Append("<ul class= 'subnav'>");
                        MyDiv.Append("<div id='conten_" + Contador + "' class = 'OpenMenu'>");
                        bnuevo        = true;
                        myDivIntNuevo = new StringBuilder();
                        fncLlenaGrid(node.Children, bnuevo);
                        MyDiv.Append(myDivIntNuevo);
                        MyDiv.Append("</div>");
                        MyDiv.Append("</ul> ");

                        MyDiv.Append("</li>");
                    }
                    Contador++;
                }
                MyDivPrin.Append(MyDiv);
                MyDivPrin.Append("</ul>");
                MyDivPrin.Append("</div>");
                divMenu.InnerHtml = MyDivPrin.ToString();
            }
        }
コード例 #2
0
        private void FindChildren(TableItem item)
        {
            // find all the children of the item
            var children = unsortedList.Where(x => x.ParentID == item.NodeID && x.NodeID != item.NodeID);

            // add the child to the item's children collection and call the FindChildren recursively, in case the child has children
            foreach (TableItem child in children)
            {
                item.Children.Add(child);
                FindChildren(child);
            }
        }