public void CarregarHierarquia()
    {
        if (!string.IsNullOrWhiteSpace(Hierarquia))
        {
            gobjListMenus = DOMenu.Listar(Hierarquia);
            trvMenus.Nodes.Clear();

            List <Menu> objRetorno = new List <Menu>();

            if (gobjListMenus.Any())
            {
                string hierarquiaMax = (from h in gobjListMenus orderby h.Hierarquia.Length descending select h.Hierarquia).First();

                IEnumerable <string> items = Enumerable.Range(0, hierarquiaMax.Length / 3).Select(i => hierarquiaMax.Substring(i * 3, 3));
                int limiteMax = Enumerable.Range(0, hierarquiaMax.Length / 3).Select(i => hierarquiaMax.Substring(i * 3, 3)).Count();

                for (int i = 1; i <= limiteMax; i++)
                {
                    List <Menu> itensMenu = (from m in gobjListMenus where m.Hierarquia.Length == (i * 3) select m).ToList();

                    foreach (Menu item in itensMenu)
                    {
                        string hierarquiaItem = item.Hierarquia;

                        if (item.Hierarquia.Length > 3)
                        {
                            hierarquiaItem = item.Hierarquia.Substring(0, item.Hierarquia.Length - 3);
                        }
                        AdicionarItemsTreeview(hierarquiaItem, item);
                    }
                }
                trvMenus.ExpandAll();
            }
        }
    }
示例#2
0
    /// <summary>
    /// Lista dados do banco de dados
    /// </summary>
    private void LerDados()
    {
        try
        {
            List <Menu> objDados = null;

            objDados = DOMenu.Listar();

            if (objDados != null)
            {
                listPager.DataSource = objDados;
                listPager.DataBind();

                BindGrid();
            }
        }
        catch (Exception ex)
        {
            //Chama o método para gravar erro
            ((Modulos_Modulos)Master).ExibirAlerta(ex);
        }
    }