luroberto 0 Denunciar post Postado Abril 17, 2015 Boa tarde pessoal, tenho o seguinte código como exemplo: if (idusuario == 125) { List <aplicacoesModel> aplicacoes = listaAcessos(); //Lista aplicacoes recebe o resultado do método listaAcessos(); com os acessos que o usuário possui foreach (var item in aplicacoes) // Faz um foreach na lista, chamada aplicacoes, criada acima { var aplicacao = "cbx" + item.idaplicacao; // Variável recebe a string cbx concatenando com o id da aplicação } } Neste trecho tenho uma lista, chamada aplicações com códigos armazenados que foram buscados em uma query do SQL (Método listaAcessos).Faço um foreach nessa lista para poder verificar quais são os códigos para o usuário especificado.A cada passagem do foreach armazeno o código idaplicação concatenando com a string "cbx" na variável aplicacao, ficando cbx+id .Ex.: se o código idaplicacao nessa passagem for igual a 8, será armazenado o valor cbx8 na variável aplicacao.Após pegar este valor que é o nome de uma entre as checkbox da aplicação, irá marcar a checkbox que possui o mesmo nome da variável como checked,alguém pode me dar uma idéia como fazer esse processo de marcar a checkbox com o mesmo nome da variável aplicacao como checked a cada passagem do foreach ? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Abril 17, 2015 você vai bater os Id's, mas para isso você vai ter que fazer outro foreach dentro do controle que tem todos os checkbox. algo como: foreach(Control c in Seuelemento.Controls) { if((elemento)c.id == seuid)) { //codigo } } Infelizmente não existe como "buscar" o controle dentro do form. Compartilhar este post Link para o post Compartilhar em outros sites
luroberto 0 Denunciar post Postado Abril 17, 2015 Tem como passar o nome do valor da variável aplicacao (que é a que possui o nome da checkbox) para uma variável do tipo checkbox, algo tipo : foreach (var item in aplicacoes) { var aplicacao = "cbx" + item.idaplicacao; CheckBox chk = FindControl(aplicacao); chk.Checked = true; } ai eu marco aquela checkbox como checked ? Sei que o código está errado, mas a ideia é essa. Já resolvi, o código ficou da seguinte forma : if (idusuario == 30) { List <aplicacoesModel> aplicacoes = listaAcessos(); foreach (var item in aplicacoes) { var aplicacao = "cbx" + item.idaplicacao; ((CheckBox)pnAcessoAplicacoes.FindControl(aplicacao)).Checked = true; } } Caso alguém precise. Abraços Compartilhar este post Link para o post Compartilhar em outros sites