Então… eu tenho uma tela de cadastro de contrato e nessa tela eu tenho que adicionar as parcelas (com data de vencimento e valor da parcela) do mesmo.
pensei em fazer assim: criar os 2 campos (data Vcto e Valor Parcela) e um botão <a4j:commandButton que chama um método (adicionaParcelas)
no meu Bean que adiciona esse objeto Parcela na lista de parcelas do Contrato…e mostra na tela essa lista de parcelas… certo???sussegado!?
mas minha dúvida é a seguinte: no meu método adicionaParcelas eu tenho que pegar o valor dos 2 campos por parametros?
tem alguma forma de eu dar um submit e ja pegar esse objeto Parcela populado?para fazer isso tenho que usar 2 form??
então galera é isso… quero saber a melhor forma de fazer isso…
valeo
abraco
Olha acho que você poderia montar uma estrutura com um h:dataTable que utilize objetos tipo Parcela.
Algo como:
Pojo:
public Parcela {
private Timestamp vencimento; //Pode usar String se não for trab com datas
private Double valor;
//Getters e setters
}
Bean:
public SeuBean {
private List<Parcela> parcelas;
//Get e Set para 'parcelas'
public SeuBean() {
parcelas = pesquisaParcelasExistentes(String parametroDePesquisa);
if(parcelas == null)
parcelas = new ArrayList<Parcela>();
}
}
public String adicionarParcela() {
parcelas.add(new Parcela()); //aqui você adiciona uma linha em branco
returno "suaTela";
}
}
Com isso basta você criar o HTML para listar a sua dataTable utilizando os dados da variável ‘parcelas’
é bem isso… essa parte de mostrar as parcelas esta susse…
mas eu quero saber como é a melhor forma de eu enviar os dados para o método adicionarParcela, entende?
pois se eu der um submit no meu form, vai ir todos os outros campos da tela…
Então, de uma olhada no método adicionarParcela. Ele adiciona uma linha em branco, dai para o usuario alterar os valores basta mudar os <h:outputText value="#{parcela.valor}"/> por <h:inputText value="#{parcela.valor}"/>
Com isso, quando você chamar um método Salvar ou algo parecido, ele vai pegar os valores que foram informados na tela. Entendeu?
cara… funcionou… qdo eu dou o submit fica la os valores das parcelas na lista…
mas como eu adiciono um nova linha com ajax, o valor que eu tinha digitado antes vem apagado… entende?
mas se eu adiciono as linhas depois preencho com os valores ai dou o submit, ai vai certo…