コード例 #1
0
        public void PopulaMenus()
        {
            trvCResultado.Nodes.Clear();
            //Buscar Centro Resultado
            TList_CentroResultado lCentroResult =
                string.IsNullOrEmpty(Cd_centroresult) ?
                CamadaNegocio.Financeiro.Cadastros.TCN_CentroResultado.Buscar(string.Empty,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              null) :
                new TCD_CentroResultado().Select(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = string.Empty,
                    vOperador = string.Empty,
                    vVL_Busca = "(a.cd_centroresult = '" + Cd_centroresult.Trim() + "' or a.cd_centroresult_pai = '" + Cd_centroresult.Trim() + "')"
                }
            }, 0, string.Empty);
            //BUSCA TODOS OS MENUS PAIS
            List <TRegistro_CentroResultado> lItensPai = lCentroResult.FindAll(p => string.IsNullOrEmpty(p.Cd_centroresult_pai) && p.Nivel.Equals(1)).OrderBy(r => r.Cd_centroresult_pai).ToList();

            if (lItensPai.Count > 0)
            {
                lItensPai.ForEach(p =>
                {
                    TreeNode no = new TreeNode(p.Ds_centroresultado.Trim());
                    no.Name     = p.Cd_centroresult.Trim();
                    no.Tag      = p.St_sintetico;
                    if (p.St_sinteticobool)
                    {
                        no.ForeColor = Color.Red;
                    }
                    trvCResultado.Nodes.AddRange(new TreeNode[] { no });
                    //Buscar todos os registro filhos
                    List <TRegistro_CentroResultado> lItensFilho = lCentroResult.FindAll(v => v.Cd_centroresult_pai.Trim().Equals(p.Cd_centroresult.Trim())).OrderBy(r => r.Ds_centroresultado.Trim()).ToList();
                    if (lItensFilho.Count > 0)
                    {
                        AddCamposTree(lItensFilho, trvCResultado.Nodes);
                        VerificaExisteFilhos(lItensFilho, lCentroResult);
                    }
                });
            }
            if (cbxExpandir.SelectedIndex.Equals(0))
            {
                trvCResultado.ExpandAll();
            }
            trvCResultado.SelectedNode = trvCResultado.Nodes[0];
        }
コード例 #2
0
        public void VerificaExisteFilhos(List <TRegistro_CentroResultado> ItemsFilhosMenus, TList_CentroResultado listaMenu)
        {
            for (int i = 0; i < ItemsFilhosMenus.Count; i++)
            {
                List <TRegistro_CentroResultado> ItemsFilhos = listaMenu.FindAll(c => (c.Cd_centroresult_pai.Trim().Equals(ItemsFilhosMenus[i].Cd_centroresult.Trim())));

                if (ItemsFilhos.Count > 0)
                {
                    AddCamposTree(ItemsFilhos, trvCResultado.Nodes);
                    VerificaExisteFilhos(ItemsFilhos, listaMenu);
                }
            }
        }