RECARREGAR PERMISAO EM MENU

 Tópico anterior Próximo tópico Novo tópico

RECARREGAR PERMISAO EM MENU

C#

 Compartilhe  Compartilhe  Compartilhe
#478721 - 28/12/2017 00:22:42

JOAOBENEVIDES
RIBEIRAO PRETO
Cadast. em:Maio/2009


Citação:
:
Em algum lugar você grava as permissões do usuário, certo?

sim eu gravo numa tabela

........Todos Podemos Ajudar Um ao Outro ajude vc tambem.....


#478722 - 28/12/2017 00:24:48

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Ok, basta buscar os dados dessa tabela, percorrer o grid, habilitando os ítens conforme a sua estrutura de permissão.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#478723 - 28/12/2017 00:32:09

JOAOBENEVIDES
RIBEIRAO PRETO
Cadast. em:Maio/2009


estou fazendo assim para habilitar os menus
primeiro eu desabilito tudo
e depois uso isto para habilitar

public static void ValidaMenu(int CodUsuario, MenuStrip nomeMenu)
        {
            SqlDataReader dr = default(SqlDataReader);
            List<ToolStripMenuItem> myItems = Funcoes.GetAllMenuStripItems.GetItems(nomeMenu);

            

            using (SqlConnection con = AcessoBancodeDados.ConexaoSQL())
            {
                try
                {
                    con.Open();
                    string sql = "select Nome_Interno from usuario_acesso where Cod_Usuario=" + CodUsuario;
                    SqlCommand cmd = new SqlCommand(sql, con);

                    
                    //executa a consulta.
                    dr = cmd.ExecuteReader();

                    while (dr.Read())
                    {
                        string NomeMenuInterno = dr["Nome_Interno"].ToString();

                        //if (NomeMenuInterno == "Site")
                        //{
                        //    //  return;
                        //}

                        foreach (var item in myItems)
                        {
                            if (item.Name == NomeMenuInterno)
                            {
                                item.Visible = true;
                                
                                break;
                            }

                        }
                        nomeMenu.Refresh();


                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    con.Close();
                }

            }
        }
    }
}

........Todos Podemos Ajudar Um ao Outro ajude vc tambem.....


#478724 - 28/12/2017 00:49:39

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Você não está entendendo a parte de instância. Quando você instancia algo e altera essa instância, você não está alterando o objeto original instanciado. Exemplo:

int x = 2;
int y = 1 + x;
int z = 2 + x;

//Alterando "x" não vai alterar as variáveis
x = 3;
//aqui, y e z ainda terão 2 e 3 respectivamente.

O que você está fazendo é exatamente a mesma coisa, mas instanciando o seu menu. Não adianta alterar os ítens na instância de variável, você precisa alterar no menu mesmo ou repassar pro menu a instância de variável alterada.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#478725 - 28/12/2017 00:53:56

JOAOBENEVIDES
RIBEIRAO PRETO
Cadast. em:Maio/2009


como eu conseguir corrigir isto ? nao seria distruindo e criando denoco

........Todos Podemos Ajudar Um ao Outro ajude vc tambem.....


#478734 - 28/12/2017 09:07:40

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
No exemplo que postei anteriormente, ele percorre os ítens do menu mesmo e não de uma instância.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#478743 - 28/12/2017 11:08:09

JOAOBENEVIDES
RIBEIRAO PRETO
Cadast. em:Maio/2009


Citação:
:
No exemplo que postei anteriormente, ele percorre os ítens do menu mesmo e não de uma instância.

e isto que estou me matando eu executo a funcao
foreach (var item in this.toolStrip1.Items.OfType<ToolStripLabel>())
            {
                ((ToolStripLabel)item).Enabled = false;
            }
mais ele nao desabilita os menus que tem que desabilitar devo estar fazendo coisa errado

........Todos Podemos Ajudar Um ao Outro ajude vc tambem.....


#478745 - 28/12/2017 12:47:12

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Veja que este loop, só vai pegar itens do menu do tipo "ToolStripLabel". Os ítens que quer desabilitar são desse tipo?

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#478746 - 28/12/2017 13:06:13

JOAOBENEVIDES
RIBEIRAO PRETO
Cadast. em:Maio/2009


sim fiz uma mudanca para achar o menustrip ele ega mais nao desabilita

........Todos Podemos Ajudar Um ao Outro ajude vc tambem.....


 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário