Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cintia_Ribeiro

CheckListBox

Recommended Posts

Galera,

 

é o seguinte; tenho um método q faz um select e quero que a consulta seja exibida em um checklistbox. Eu criei o meu metodo da seguinte forma:

public static checkboxlist selecionardisciplina (int id){
sqlconnection _con = sqlconnection(_conexao);
cmd.commandtype = commandtype.storeprocedure;
checkboxlist result = new checkboxlist();
cmd.parameters.addwithvalue("@idcurso", id);
using (_con){

_con.open();
sqldatareader reader = cmd.executereader();
while (reader.read()){
string valor = convert.tostring(reader);
result.items.add(valor);
}
_con.close();
return result
}

}

 

Não sei se estou usando da forma correta o chechlistbox e eu quero que o msm seja mostrado na msm página de onde está saindo o parametro, tipo.

tenho um textbox e um button, informo o valor no textbox e o button chama o metodo, quero que abaixo mostre o checklistbox com o resultado do select.

Não tá dando erro, mas tbm nao retorna o checklistbox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que tenha duas soluções possíveis.

 

Primeiro: Como você está criando um CheckBoxList via código, você deve adicioná-lo à página depois de carregá-lo. Você pode adicionar um Panel à sua página e deixá-lo invisível e no momento do clique do botão você adiciona o controle dentro do Panel da seguinte forma:

 

Panel1.Controls.Add(result); //result é seu CheckBoxList, ok!?
Panel1.Visible = true;

 

Segundo: Como os controles asp.net tem a propriedade Visible, você pode adicionar seu controle (CheckBoxList) diretamente na página, e só deixá-lo visível quando necessário. Você carrega o seu componente normalmente, sem precisar declarar, como você está fazendo e depois de carregá-lo com as informações, basta dar Visible = true;

 

Espero que dê certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz um teste aqui e deu certinho.

 

Na sua página aspx adicione o panel:

<asp:Panel ID="pnlTeste" runat="server"></asp:Panel>

 

Depois no seu método você declara o CheckBoxList, carrega com os valores desejados e adiciona no panel:

       private void LoadPanel()
       {
           CheckBoxList chkTeste1 = new CheckBoxList();

           chkTeste1.Items.Add("Teste Panel 1");
           chkTeste1.Items.Add("Teste Panel 2");
           chkTeste1.Items.Add("Teste Panel 3");
           chkTeste1.Items.Add("Teste Panel 4");
           chkTeste1.Items.Add("Teste Panel 5");

           if (chkTeste1.Items.Count > 0)
           {
               pnlTeste.Controls.Add(chkTeste1);
               pnlTeste.Visible = true;
           }
           else
               pnlTeste.Visible = false;
       }

 

Desta forma dá certinho. Você só tem que adicionar os valores da sua consulta.

E lembre-se, sempre que você tentar adicionar controles asp.net na página, dentro de métodos estáticos, vai dar erro mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a minha burrice, mas não estou conseguindo fazer.

 

Deixa eu explicar novamente pra ver se você consegue me ajudar.

 

criei uma classe .cs onde essa classe tem o método de seleção

criei uma página .aspx onde tem um botão com o evento onclick .aspx.cs.

 

Como consigo exibir o meu checkboxlist dentro dessa página aspx.

 

 

Só peço um pouco de paciência comigo, estou começando agora em c#

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a minha burrice, mas não estou conseguindo fazer.

 

Deixa eu explicar novamente pra ver se você consegue me ajudar.

 

criei uma classe .cs onde essa classe tem o método de seleção

criei uma página .aspx onde tem um botão com o evento onclick .aspx.cs.

 

Como consigo exibir o meu checkboxlist dentro dessa página aspx.

 

 

Só peço um pouco de paciência comigo, estou começando agora em c#

Ok!

Quando você cria uma página aspx, pode-se perceber o seguinte: essa página tem 3 camadas, uma é onde fica seu código aps.net, html....outra é a aspx.designer.cs, onde fica os códigos dos componentes que você adiciona na tela e a outra camada é o que chamamos de Code Behind, que é a aspx.cs.

Esses exemplos que eu te passei você tem que fazer na camada aspx.cs.

Você não tem que criar uma classe cs, você tem que usar o aspx.cs da própria página criada.

Veja se consegue fazer download do exemplo

 

Espero que você consiga, qualquer dúvida é só postar aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você diz que quando clica não acontece nada

 

Se você estiver usando o visual studio, coloque um breakpoint no procedimento selecionar disciplica e verifique se o datareader contém dados pois ele pode não estar retornando resultado, daí você estaria procurando o erro depois de onde ele ocorre,

 

Você precisa ir voltando aos poucos, ele não está inserindo o checkbox? volte um passo e verifique se a função retorna resultado, se ela não retorna, e você está buscando dados na base de dados, o banco de dados pode não estar retornando resultado.

 

Detalhe, se você falar, "já testei o comando na base e funcionou", não se esqueça que no projeto entra a figura da string de conexão, ou seja, o comando está certo mas não conecta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q na verdade não estou sabendo trabalhar com o checkboxlis.

 

mudei o método para retornar um list e consegui exibir dentro de um gridview.

Mas preciso que tenho uma coluna (ou algo do tipo) que eu possa selecionar várias linhas desse grid

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q na verdade não estou sabendo trabalhar com o checkboxlis.

 

mudei o método para retornar um list e consegui exibir dentro de um gridview.

Mas preciso que tenho uma coluna (ou algo do tipo) que eu possa selecionar várias linhas desse grid

 

Dá uma olhada neste exemplo.

Neste exemplo mostra como fazer isso com uma GridView, talvez possa te ajudar!

 

Tente esse novo link para fazer download daquele exemplo anterior. Compactei de outra forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.