Checkbox no JSF

10 respostas
J

Eh o seguinte pessoal, estou com um probleminha… Após realizar uma busca no banco, a minha ppagina lista os valores encontrados em linhas… em cada linha há um checkbox para ser selecionado e no final ser deletada essa linha através de um commandbutton. O q nao estou conseguindo é fazer com que o checkbox selecionado seja reconhecido para que seja excluido… Quem puder me ajudar com essa duvida, ficarei grato… Obg…

10 Respostas

normandesjr

Cara coloca o código que você implementou ai pra gente ver onde ta errado.

leandrokjava

cara eu tenho um problema parecido,

tenha um datatable e nele quero colocar um checkbox,
até ai td bem, já coloquei ele, porem quero pegar o checkbox que está selecionado para excluir do banco,
mas tem uma observação.
quero que quando selecionado um checkbox os outros fiquem desabilitados.
td dentro de um datatable.

será que alguem pode me ajudar.

felipeguerra

Já tentou fazer isso com JavaScript?

felipeguerra

Eu faço isso utilizando Ajax4Jsf…aliás, já postei algumas dúvidas aqui no GUJ, se interessar, da uma pesquisada.

leandrokjava

estava tentando com javaScript.
mas não tenho grandes conhecimentos com ele…
eu tava até tentando achar algum script que me ajuda-se nisso,
mas pensei na possibilidade de fazer isso sem javaScript, utilizando algum rendered ou onclick, algo parecido com isso, que o proprio framework facilita-se.
mas parece que o jeito mesmo é javacript.

leandrokjava

obrigado.

Flavia_Alessandra

Preciso de ajuda, como faço para que clicando meu meu checkbox ele desabilite os outro.

Este é meu codigo

private void jcbTodosActionPerformed(java.awt.event.ActionEvent evt) {

//

if(jcbTodos.isSelected())

{

//

this.jcbEi.setSelected(true);

this.jcbCo.setSelected(true);

this.jcbCq.setSelected(true);

this.jcbCustos.setSelected(true);

this.jcbFC.setSelected(true);

this.jcbPcp.setSelected(true);

this.jcbVe.setSelected(true);

this.jcbVi.setSelected(true);

//

}

else if(jcbTodos.isSelected())

{

this.jcbEi.setSelected(false);

this.jcbCo.setSelected(true);

this.jcbCq.setSelected(true);

this.jcbCustos.setSelected(true);

this.jcbFC.setSelected(true);

this.jcbPcp.setSelected(true);

this.jcbVe.setSelected(true);

this.jcbVi.setSelected(true);
}
}
matheuscechito

Não me lembro ao certo, mas com uma lista de SelectItens vc consegue fazer isso…tem q ter uma classe que mapeia os objetos listados, cada clique que vc der nos checkbox o objeto da lista é atualizado…e quando vc clicar no botão para excluir, vc apaga os itens marcados da lista.

Flavia Alessandra:
Preciso de ajuda, como faço para que clicando meu meu checkbox ele desabilite os outro.

Este é meu codigo

private void jcbTodosActionPerformed(java.awt.event.ActionEvent evt) {

//

if(jcbTodos.isSelected())

{

//

this.jcbEi.setSelected(true);

this.jcbCo.setSelected(true);

this.jcbCq.setSelected(true);

this.jcbCustos.setSelected(true);

this.jcbFC.setSelected(true);

this.jcbPcp.setSelected(true);

this.jcbVe.setSelected(true);

this.jcbVi.setSelected(true);

//

}

else if(jcbTodos.isSelected())

{

this.jcbEi.setSelected(false);

this.jcbCo.setSelected(true);

this.jcbCq.setSelected(true);

this.jcbCustos.setSelected(true);

this.jcbFC.setSelected(true);

this.jcbPcp.setSelected(true);

this.jcbVe.setSelected(true);

this.jcbVi.setSelected(true);

}
}

Acredito que seja mais fácil fazer com rendered, mas pra isso vc teria que ter um atributo para cada componente da tela, ou faz com uma lista tb!!!

t+

lipegomes1

Cara, quato a clicar em um checkbox e desabilitar os outros acredito que seja no evento onclick mesmo, e não sei te explicar.
Agora, para recuperar o checkbox selecionado, vc deve criar um boolean em sua classe e vincular o mesmo ao value do checkbox do datatable.

<h:column id="coluna1">
    <h:selectBooleanCheckbox id="checkbox1" onclick="COMANDO JAVASCRIP PARA DESABILITAR OS OUTROS" value="#{SUA_CLASSE.SEUBOOLEAN}" valueChangeListener="#{Page1.checkbox1_processValueChange}"/>
<h:column />

Ao efetuar um duplo clique no checkbox você criará o método checkbox1_processValueChange, que através do valueChangeListener, é chamado sempre que um checkbox for alterado e submetido (ao clicar em um botão por exemplo).
Faça um teste:
Coloque um botão no form, edite o método checkbox1_processValueChange assim:

public void checkbox1_processValueChange(ValueChangeEvent vce) {
       
        JOptionPane.showMessageDialog(null, dataTable1.getRowData());
             
    }

E agora execute a aplicação, selecione os itens que quiser e clique no botão. Vai ver os dados da(s) linha(s) selecionadas.

Espero ter ajudado.

lipegomes1

opa… :lol:
nem vi a data! huhuhuhuh :oops:

Criado 20 de novembro de 2007
Ultima resposta 12 de set. de 2008
Respostas 10
Participantes 7