Pessoal,
Estou tentando utilizar o comando
<h:selectBooleanCheckbox id="checkespecialidade" onchange="desabilitar()" disabled="#{ManterItemOrcamentoMB.desabilitachek}"
Este checkbox carrega varios , conforme a tela1.jpg e escolhe por exemplo 1 item.
mas quando eu clico ele entra no Bean, e volta com disable true, devido a esta linha :
public void selecionarEspecificacao() {
this.desabilitachek = false;
......
this.desabilitachek = true;
e ele retorna a tela2.jpg, como todos desabilitados.
A ideia ,é quando clica, desabilita, e quando terminar todo o processo, habilita novamente o checkbox
segue abaixo a rotina completa :
public class ManterItemOrcamentoMB implements PageMB, OperacaoConfirmavel,
CallbackableMB {
private boolean desabilitachek= false;
@SuppressWarnings("unchecked")
public void selecionarEspecificacao() {
this.desabilitachek = false;
if (carregaviewensaiometodo==1){
//Evandro 06/12/12
List<Vwanalisemetodo> listaanalisepormetodo = analiseService
.buscarAnalisesPadraoPorMatrizMetodo(matriz);
analisearray = new ArrayList<Analise>();
for (Vwanalisemetodo viewaux:listaanalisepormetodo) {
Analise analise = new Analise();
analise.setId(viewaux.getId());
Ensaio ensaio = new Ensaio();
ensaio.setId(viewaux.getEnsaioId());
analise.setEnsaio(ensaio);
Metodo metodo = new Metodo();
Metodologia metodologia = new Metodologia();
metodologia.setId(viewaux.getMetodosmetodologiaId());
metodo.setId(viewaux.getMetodosid());
metodo.setMetodologia(metodologia);
metodo.setNome(viewaux.getMetodosnome());
metodo.setPreco(new Dinheiro(viewaux.getMetodosvalor()));
analise.setMetodo(metodo);
analisearray.add(analise);
System.out.println("");
}
carregaviewensaiometodo=0;
}
ObjetoSelecionavel<Especificacao> especificacaoSelecionada = (ObjetoSelecionavel<Especificacao>) especificacoes
.getRowData();
if (!especificacaoSelecionada.isSelecionado()) {
itemAtual.deselecionarEspecificacao(especificacaoSelecionada
.getObjeto(), getMatriz());
for (Iterator<AnaliseItem> it = analisesComEspecificacao.iterator(); it
.hasNext();) {
AnaliseItem item = it.next();
if (item.getAnalisesEspecificadas().size() == 1
&& item.getAnalisesEspecificadas().get(0)
.getEspecificacao().equals(
especificacaoSelecionada.getObjeto())) {
item.deselecionar();
it.remove();
}
}
Collections.sort(todasAnalises, new AnaliseItemComparator());
List<AnaliseItem> analisesFiltradas = filtro
.aplicarA(todasAnalises);
List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
.getWrappedData();
analisesExibidas.clear();
analisesExibidas.addAll(analisesFiltradas);
} else {
List<Pergunta> perguntasEspecificacao = orcamentoService
.consultarPerguntasOrcamento(getMatriz(),
especificacaoSelecionada.getObjeto());
itemAtual.getQuestionario().adicionarPerguntas(
perguntasEspecificacao);
/*List<AnaliseItem> novosItemsDeEspecificacao = AnaliseItemHelper
.adicionarAnaliseItemPorEspecificacao(
especificacaoSelecionada.getObjeto(), itemAtual,
analisesComEspecificacao, this.getMatriz());*/
List<AnaliseItem> novosItemsDeEspecificacao = AnaliseItemHelper
.adicionarAnaliseItemPorEspecificacao(
especificacaoSelecionada.getObjeto(), itemAtual,
analisesComEspecificacao, this.getMatriz(),analisearray);
todasAnalises.removeAll(analisesComEspecificacao);
analisesComEspecificacao.addAll(novosItemsDeEspecificacao);
todasAnalises.addAll(0, analisesComEspecificacao);
Collections.sort(todasAnalises, new AnaliseItemComparator());
List<AnaliseItem> analisesFiltradas = filtro
.aplicarA(todasAnalises);
List<AnaliseItem> analisesExibidas = (List<AnaliseItem>) this.analisesExibidas
.getWrappedData();
analisesExibidas.clear();
analisesExibidas.addAll(analisesFiltradas);
}
}
this.desabilitachek = true;
}
